Client : Bereichsbezogen, global
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.
| 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.
| 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 |
| 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 .
| 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, 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.
| 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. |
| Metrik | Zeichenfolge | Der Name der Metrik. |
| lastUpdateBefore | GlideDateTime | Optional. Datum in der Zukunft, das das Ende des auszuwertenden Zeitraums darstellt. |
| 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.
| 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]);