MetricInfo : champ d’application, global

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 2 minutes de lecture
  • L’API MetricInfo fournit des méthodes permettant de vérifier si une mesure se trouve dans la MetricBase base de données et, le cas échéant, de signaler sa politique de conservation. Les politiques de rétention sont rapportées en minutes.

    Vous pouvez appeler cette classe dans les scripts de 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 classe 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 de 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 rétention (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 conservation appartenant à la mesure, l’objet contient une paire clé-valeur correspondante qui mappe la durée de conservation à la période de prélèvement.
    • Clé : la durée de conservation du calendrier de la politique de conservation en minutes.

      Type de données : chaîne

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

      Type de données : nombre

    "<retentionDuration>": <samplingPeriod>

    L’exemple suivant montre comment boucler les calendriers de politique de rétention 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 :
    • true : 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. La sortie d’exemple reflète la durée de la politique, en minutes, mappée à sa période d’échantillonnage d’intervalle.

    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
    }