MetricInfo – Scoped, Global

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 2 Minuten Lesedauer
  • Die MetricInfo- API stellt Methoden bereit, um zu überprüfen, ob sich eine Metrik in der Datenbank MetricBase befindet, und in diesem Fall ihre Aufbewahrungsrichtlinie zu melden. Aufbewahrungsrichtlinien werden in Minuten angegeben.

    Sie können diese Klasse in bereichsbezogenen und globalen Serverskripts aufrufen. Wenn Sie die MetricInfo -Klasse verwenden, verwenden Sie den Namespace-Identifier sn_clotho.

    Diese Klasse ist Teil von MetricBase -Anwendung.

    MetricInfo – MetricInfo(String table, String metric)

    Erstellt eine Instanz der MetricInfo -Klasse.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    table Zeichenfolge Name der Metriktabelle, die in der Tabelle „Zeitreihenmetriken“ [sys_metric] aufgeführt ist.
    metric Zeichenfolge Metrikfeldname, der in der Tabelle „Zeitreihenmetriken“ [sys_metric] aufgeführt ist. Dieser Feldname muss dem Tabellennamen zugeordnet werden.

    Das folgende Beispiel zeigt, wie ein MetricInfo- Objekt mit der Metrik „Höhe“ (mb_demo_mt_altitude) erstellt wird, die der Tabelle „Drohnen“ [mb_demo_drone] zugeordnet ist.

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

    MetricInfo – getRetentionSchedulesInMinutes()

    Ruft die Zeitpläne der Aufbewahrungsrichtlinie der angegebenen Metrik ab.

    Siehe auch MetricBase-Aufbewahrungsrichtlinien.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 3. Ergebnisse
    Typ Beschreibung
    Objekt JSON-Objekt mit Schlüssel-Wert-Paaren, die die Zeitpläne der Aufbewahrungsrichtlinie (in Minuten) für die angegebene Metrik darstellen, die in der Tabelle „Aufbewahrungsrichtlinien“ [sys_metric_retention_policy] aufgeführt ist.
    Für jeden Aufbewahrungsrichtlinienzeitplan, der zur Metrik gehört, enthält das Objekt ein entsprechendes Schlüssel-Wert-Paar, das die Aufbewahrungsdauer dem Stichprobenzeitraum zuordnet.
    • Schlüssel: Aufbewahrungsdauer des Zeitplans für die Aufbewahrungsrichtlinie in Minuten.

      Datentyp: Zeichenfolge

    • Wert: Stichprobenzeitraum des Aufbewahrungsrichtlinien-Zeitplans in Minuten.

      Datentyp: Zahl

    "<retentionDuration>": <samplingPeriod>

    Das folgende Beispiel zeigt, wie Sie die Zeitpläne der Aufbewahrungsrichtlinie durchlaufen und eine Protokollnachricht kompilieren. Die Nachricht enthält die Aufbewahrungsdauern, die von Minuten in Tage konvertiert wurden, mit den entsprechenden Stichprobenzeiträumen.

    // 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);

    Ausgabe:

    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()

    Gibt an, ob die angegebene Metrik der in einem MetricInfo- Objekt definierten Tabelle zugeordnet ist.

    Tabelle : 4. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 5. Ergebnisse
    Typ Beschreibung
    Boolean

    Kennzeichnung, die angibt, ob die in einem MetricInfo- Objekt angegebene Metrik der angegebenen Tabelle zugeordnet ist.

    Gültige Werte:
    • true: Die angegebene Metrik ist gültig.
    • false: Die angegebene Metrik oder Tabelle ist entweder nicht vorhanden, oder die Metrik ist der Tabelle nicht zugeordnet.

    Das folgende Beispiel zeigt, wie Sie überprüfen, ob sich die Metrik „Höhe“ (mb_demo_mt_altitude) in der Tabelle „Drohnen“ [mb_demo_drone] befindet, und den Aufbewahrungszeitplan zurückgeben, falls dies der Fall ist. Die Beispielausgabe spiegelt die Richtliniendauer in Minuten wider, die dem Intervall für die Stichprobennahme zugeordnet ist.

    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");
    }

    Ausgabe:

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