Client : Bereichsbezogen, global

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 3 Minuten Lesedauer
  • Die Client -API bietet Methoden zum Hinzufügen von Daten zur Datenbank MetricBase, zum Ausführen von Transformationen in der Datenbank MetricBase und zum Empfangen der Ergebnisse der Transformationen.

    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 Namespace sn_clotho ausgeführt werden.

    Client: Client()

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

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

    Client – akkumulieren(GlideRecord now_GR, Zeichenfolgenmetrik)

    Akkumuliert Metrikwerte mit einem 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. Beim Akkumulieren wird für jede Metrik zum angegebenen Zeitstempel ein Aufruf durchgeführt. Zum Beispiel würden gesammelte Kilowattstunden für eine Heizkörper, einen Elektroherd und eineWaschmaschine zu drei Anrufen führen, die zu akkumulieren sind.

    Tabelle : 2. 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 bei einem bestimmten Zeitstempel. Wird nur während des ersten Anrufs 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 eine Gesamtleistung sein. Sie möchten die Leistung in Leistung für einen Router, der an eine Steckdose ohne Leistungsmesser verbunden ist, sammeln, um die Leistung zu messen. 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 mit dem Stromnetz verbunden ist und 20 Watt verbraucht.

    Der Zeitstempelwert kann mit der DataBuilder- API bereitgestellt werden.

    Standard: 0

    Tabelle : 3. Ergebnisse
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie der Wert der Metrik „total_power“ in einem Datensatz namens „ building_a“ kumuliert 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 – deleteMetric(String tableName, String metricName)

    Entfernt 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, Zeichenfolgenmetrik)

    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.
    Metrik 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 Zeichenfolgen-Sys-IDs, die die Reihe darstellen, die Daten für die angegebene Metrik enthält. Wenn der Parameter lastUpdateBefore angegeben wird, werden Serien zurückgegeben, die keine Daten enthalten, die neuer als das Datum „lastUpdateBefore“ sind (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]);