MetricInfo : dans le champ d’application, global

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 2 minutes de lecture
  • L’API MetricInfo fournit des méthodes pour vérifier si une mesure se trouve dans la base de MetricBase données et, le cas échéant, pour signaler sa politique de rétention. Les politiques de conservation sont signalées en quelques minutes.

    Vous pouvez appeler cette classe dans les scripts serveur inclus dans le champ d’application et globaux. Lorsque vous utilisez la classe MetricInfo , utilisez l’identificateur d’espace de noms sn_clotho .

    Cette classe fait partie de la MetricBase application.

    MetricInfo – MetricInfo(Table de chaînes, Mesure de chaîne)

    Crée une instance de la classe MetricInfo .

    Tableau 1. Paramètres
    Nom Type Description
    table Chaîne Nom de la table de mesures répertoriée dans la table Mesures de séries chronologiques [sys_metric].
    mesure Chaîne Nom de champ de mesure répertorié dans la table Mesures de séries chronologiques [sys_metric]. Ce nom de champ doit être mappé au nom de la table.

    L’exemple suivant montre comment construire un objet MetricInfo avec la mesure Altitude (mb_demo_mt_altitude) associée à la table Drones [mb_demo_drone].

    var metricInfo =  new sn_clotho.MetricInfo('mb_demo_drone','mb_demo_mt_altitude');

    MetricInfo – getRetentionSchedulesInMinutes()

    Obtient les calendriers de politique de conservation de la mesure spécifiée.

    Consultez également les politiques de conservation MetricBase.

    Tableau 2. Paramètres
    Nom Type Description
    Aucun
    Tableau 3. Renvoie
    Type Description
    Objet Objet JSON contenant des paires clé-valeur qui représentent les calendriers de politique de conservation (en minutes) pour la mesure spécifiée répertoriée dans la table Politiques de conservation [sys_metric_retention_policy].
    Pour chaque calendrier de politique de rétention appartenant à la mesure, l’objet contient une paire clé-valeur correspondante qui mappe la durée de conservation à la période d’échantillonnage.
    • Clé : la durée de conservation du calendrier de politique de conservation en minutes.

      Type de données : chaîne

    • Valeur : période d’échantillonnage du calendrier de politique de conservation en minutes.

      Type de données : nombre

    "<retentionDuration>": <samplingPeriod>

    L’exemple suivant montre comment parcourir les calendriers de stratégie de conservation et compiler un message de journal. Le message contient les durées de conservation converties de minutes en jours avec leurs périodes d’échantillonnage correspondantes.

    // Function to convert minutes to days
    function toDays(minutes) {
     return minutes / 60 / 24;
    };
    
    var metricInfo = new sn_clotho.MetricInfo('mb_demo_drone','mb_demo_mt_altitude');
    var schedules = metricInfo.getRetentionSchedulesInMinutes();
    var log = '';
    
    // Compiles a log message with retention schedules
    for (var duration in schedules) {
     log += "Retention duration is: " + toDays(duration) +
     " days, Sampling period is: " + schedules[duration] + " minutes\n";
    }
    
    gs.info(log);

    Sortie :

    Retention duration is: 8 days, Sampling period is: 1 minutes
    Retention duration is: 94 days, Sampling period is: 10 minutes
    Retention duration is: 397 days, Sampling period is: 60 minutes

    MetricInfo – isValid()

    Indique si la mesure spécifiée est mappée à la table définie dans un objet MetricInfo .

    Tableau 4. Paramètres
    Nom Type Description
    Aucun
    Tableau 5. Renvoie
    Type Description
    Booléen

    Marqueur indiquant si la mesure spécifiée dans un objet MetricInfo est mappée à la table spécifiée.

    Valeurs valides :
    • vrai : la mesure spécifiée est valide.
    • faux : la mesure ou la table spécifiée n’existe pas ou la mesure n’est pas mappée à la table.

    L’exemple suivant montre comment vérifier si la mesure Altitude (mb_demo_mt_altitude) se trouve dans la table Drones [mb_demo_drone] et renvoyer son calendrier de conservation si c’est le cas. L’exemple de sortie reflète la durée de la politique en minutes mappée à son intervalle de période de prélèvement.

    var metricInfo =  new sn_clotho.MetricInfo('mb_demo_drone','mb_demo_mt_altitude');
    if (metricInfo.isValid())
    {
      var retentionSchedules = metricInfo.getRetentionSchedulesInMinutes();
      gs.info(JSON.stringify(retentionSchedules, null, 2));
    }
    else
    {
      gs.info("metricInfo is invalid");
    }

    Sortie :

    {
      "11520": 1,
      "135360": 10,
      "571680": 60
    }