Client – Umfang, Global
Die Client Die API stellt Methoden zum Hinzufügen von Daten zu bereit MetricBase Datenbank, zum Ausführen von Transformationen auf der MetricBase Datenbank und , um die Ergebnisse der Transformationen zu erhalten.
Sie können verwenden Client Klasse in bereichsbezogenen und globalen Serverskripts. Diese Klasse ist Teil von MetricBase Anwendung und muss innerhalb von ausgeführt werden sn_clotho Namespace.
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 zum angegebenen Zeitstempel und speichert das Ergebnis in der Datenbank, anstatt den Wert zu überschreiben.
Verwenden Sie diese Methode Zur Verarbeitung von Metriken, die für eine Akkumulation summiert werden können, z. B. Kilowattstunden (kWhs) Strom. Accumulate führt einen Aufruf für jede Metrik zum angegebenen Zeitstempel durch. Beispielsweise würden gesammelte Kilowatt für eine Heizung, einen elektrischen Wasserkocher und eine Waschmaschine dazu führen, dass drei Anrufe akkumuliert werden.
| Name | Typ | Beschreibung |
|---|---|---|
| Now_GR | GlideRecord | Name der GlideRecord-Serie, aus der der kumulierte Wert abgerufen werden soll. Siehe auch: GetSeries() |
| default_value | Anzahl | 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 eine Watt-Metrik für total_Power akkumulieren. Sie möchten Watt für einen Router sammeln, der an eine Steckdose ohne Leistungsmesser angeschlossen ist, um sie zu messen. Wenn Sie den Verbrauchswert kennen und konstant ist), können Sie den konstanten Wert als Standardwert verwenden, um total_Power zu akkumulieren. Sie würden beispielsweise 20 verwenden, wenn der Router ständig angeschlossen ist und 20 Watt verbraucht. Der Zeitstempelwert kann mit angegeben werden Datengenerator API. Standard: 0 |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Beispiel zeigt, wie Sie ansammeln Total_Power Metrikwert in einem Datensatz namens Gebäude_A .
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, 12);
new sn_clotho.Client().accumulate(dataBuilder2, 0);
var dataBuilder3 = new sn_clotho.DataBuilder(building_a, "total_power");
// values to be accumulated
dataBuilder3.add(time, 4.3);
new sn_clotho.Client().accumulate(dataBuilder3, 0);
// As a result, client saves value of 3.5+12+4.3+0(default value) at the timestamp 'time'
Client – deleteMetric(String tableName, String metricName)
Entfernen Sie eine angegebene Metrik aus einer angegebenen Tabelle in MetricBase Datenbank
| 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 sys_IDs der Zeichenfolge, die die Reihe mit Daten für die angegebene Metrik darstellt. Wenn lastUpdateBeforeDer Parameter wird angegeben. Gibt Serien zurück, die keine aktuelleren Daten als das lastUpdateBefore-Datum (nicht inklusive) aufweisen. |
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 MetricBase Datenbank.
| 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]);