Client – Scoped, Global
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.
| 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 |
| 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.
| 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 .
| Name | Typ | Beschreibung |
|---|---|---|
| tableName | Zeichenfolge | Der Name der Tabelle, deren angegebene Metrik gelöscht werden soll. |
| metricName | Zeichenfolge | Der Name der Metrik. |
| 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.
| 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. |
| 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.
| 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. |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| metricData | Objekt | Eine der folgenden Möglichkeiten:
|
| 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]);