Client – Scoped, Global

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 3 Minuten Lesedauer
  • Die Client -API stellt Methoden zum Hinzufügen von Daten zur Datenbank MetricBase bereit, um Transformationen in der Datenbank MetricBase ] auszuführen und die Ergebnisse der Transformationen zu erhalten.

    Sie können die Client -Klasse sowohl in bereichsbezogenen als auch in globalen Serverskripts verwenden. Diese Klasse ist Teil der Anwendung MetricBase und muss innerhalb des sn_clotho- Namespace ausgeführt werden.

    Client –akkumulieren(GlideRecord now_GR, String metric)

    Sammelt Metrikwerte zum angegebenen Zeitstempel und speichert das Ergebnis in der Datenbank, anstatt den Wert zu überschreiben.

    Verwenden Sie diese Methode , um Metriken zu verarbeiten, die für eine Akkumulation summiert werden können, z. B. Kilowattstunden (kWh) Strom. Accumulate ruft für jede Metrik zum angegebenen Zeitstempel auf. Zum Beispiel würden gesammelte Kilowattstunden für eine Heizkörper-, einen Elektro-Wasserkocher- und eine Waschmaschine drei Anrufe zur akkumulieren führen.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    now_GR GlideRecord Name der GlideRecord-Reihe, aus der der kumulierte Wert abgerufen werden soll.

    Siehe auch: getSeries()

    default_value Nummer Optional. Standardwert für die Akkumulation zu einem bestimmten Zeitstempel. Wird nur während des ersten Aufrufs verwendet, um zu akkumulieren, wenn ein Wert für einen bestimmten Zeitstempel nicht verfügbar ist.

    Ein Anwendungsfall könnte das Sammeln einer Watt-Metrik für total_power sein. Sie möchten die Leistung eines Routers, der an eine Steckdose ohne Leistungsmesser angeschlossen ist, in Watt akkumulieren. Wenn Sie den Verbrauchswert kennen und dieser konstant ist, können Sie den konstanten Wert als Standardwert verwenden, um „total_power“ zu akkumulieren. Zum Beispiel würden Sie 20 verwenden, wenn der Router ständig angeschlossen ist und 20 Watt verbraucht.

    Der Zeitstempelwert kann mithilfe der DataBuilder- API bereitgestellt werden.

    Standard: 0

    Tabelle : 2. Ergebnisse
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie der Wert der Metrik „total_power“ in einem Datensatz mit dem Namen „ building_a“ akkumuliert wird.

    var time = new GlideDateTime();
    
    // total_power is the name of a metric within building_a which stores accumulated values
    
    var dataBuilder1 = new sn_clotho.DataBuilder(building_a, "total_power");
    // values to be accumulated
    dataBuilder1.add(time, 3.5);
    new sn_clotho.Client().accumulate(dataBuilder1, 0);
    
    var dataBuilder2 = new sn_clotho.DataBuilder(building_a, "total_power");
    // values to be accumulated
    dataBuilder2.add(time, 3.5);
    new sn_clotho.Client().accumulate(dataBuilder2, 0);
    
    var dataBuilder3 = new sn_clotho.DataBuilder(building_a, "total_power");
    // values to be accumulated
    dataBuilder3.add(time, 3.5);
    new sn_clotho.Client().accumulate(dataBuilder3, 0);
    
    // As a result of these operations client will save value of
    // 3.5+12+4.3+0(default value) at the timestamp 'time'

    Client – Client()

    Erstellen Sie eine Instanz der Client-Klasse für den Zugriff auf die MetricBase-Datenbank.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    Keine
    var client = new sn_clotho.Client();

    Client – deleteMetric(String tableName, String metricName)

    Entfernen Sie eine angegebene Metrik aus einer angegebenen Tabelle in der Datenbank MetricBase .

    Hinweis:
    Diese Methode löscht Daten aus der MetricBase-Datenbank. Es gibt keinen Wiederherstellungsmechanismus.
    Tabelle : 4. Parameter
    Name Typ Beschreibung
    tableName Zeichenfolge Der Name der Tabelle, deren angegebene Metrik gelöscht werden soll.
    metricName Zeichenfolge Der Name der Metrik.
    Tabelle : 5. Ergebnisse
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie eine Metrik aus einer Tabelle entfernt wird.

    var client = new sn_clotho.Client();
    
    // delete metric (Speed) from the Drones table
    client.deleteMetric("mb_demo_drone", "mb_demo_mt_speed");

    Client – deleteSeries(GlideRecord now_GR, String metric)

    Entfernen Sie die Daten in der MetricBase-Datenbank, die der angegebenen Metrik im angegebenen GlideRecord zugeordnet ist. Verwenden Sie diese Methode zum Entfernen von Testdaten.

    Hinweis:
    Diese Methode löscht Daten aus der MetricBase-Datenbank. Es gibt keinen Wiederherstellungsmechanismus.
    Tabelle : 6. Parameter
    Name Typ Beschreibung
    now_GR GlideRecord Die Datensätze, deren Zeitreihendaten für die angegebene Metrik gelöscht werden sollen.
    metric Zeichenfolge Der Name der Metrik.
    Tabelle : 7. Ergebnisse
    Typ Beschreibung
    void
    var client = new sn_clotho.Client();
    //query drones of a specific model
    var drones = new GlideRecord("mb_demo_drone");
    drones.addQuery("model", "Kingfisher Phantom");
    drones.query();
    
    client.deleteSeries(drones, 'mb_demo_mt_speed');

    Client – getSeries(GlideRecord now_GR, String metricName, GlideDateTime lastUpdateBefore)

    Ruft alle Serien aus einer bestimmten Dimension ab.

    Tabelle : 8. Parameter
    Name Typ Beschreibung
    now_GR GlideRecord Der Datensatz, aus dem die Serie abgerufen werden soll.
    metric Zeichenfolge Der Name der Metrik.
    lastUpdateBefore GlideDateTime Optional. Datum in der Zukunft, das das Ende des auszuwertenden Zeitraums darstellt.
    Tabelle : 9. Ergebnisse
    Typ Beschreibung
    Array Liste der sys_ids der Zeichenfolge, die die Reihe darstellen, die Daten für die angegebene Metrik enthält. Wenn der Parameter lastUpdateBefore angegeben wird, werden Serien zurückgegeben, deren Daten nicht nach dem Datum „lastUpdateBefore“ liegen (nicht inklusive).

    Das folgende Beispiel zeigt, wie Sie die vollständige Liste der Geschwindigkeitswerte abrufen, die in der Tabelle „Drohnen“ [mb_demo_drone] aufgeführt sind.

    var client = new sn_clotho.Client();
    
    // query subject records
    var grDrone = new GlideRecord('mb_demo_drone');
    grDrone.query();
    
    var series = client.getSeries(grDrone,'mb_demo_mt_speed');

    Client – put(Object metricData)

    Speichert Metrikdaten in der Datenbank MetricBase.

    Tabelle : 10. Parameter
    Name Typ Beschreibung
    metricData Objekt Eine der folgenden Möglichkeiten:
    • DataBuilder- Objekt, das Metrikdaten enthält.
    • Array von DataBuilder-Objekten mit Metrikdaten.
    Tabelle : 11. Ergebnisse
    Typ Beschreibung
    void
    var time = new GlideDateTime();
    ​
    // two different GlideRecord instances and metrics
    var dataBuilder = new sn_clotho.DataBuilder(now_GR, 'cpu_percentage');
    dataBuilder.add(time, 0.6);
    ​
    var dataBuilder2 = new sn_clotho.DataBuilder(gr2, 'disk_free_percentage');
    dataBuilder2.add(time, 0.2);
    ​
    new sn_clotho.Client().put([dataBuilder,dataBuilder2]);