クライアント :スコープ対象、グローバル
クライアント API は、メトリックベース データベースにデータを追加し、メトリックベース データベースで変換を実行し、変換の結果を受け取るためのメソッドを提供します。
クライアントクラスは、スコープ対象サーバースクリプトとグローバルサーバースクリプトの両方で使用できます。このクラスは メトリックベース アプリケーションの一部であり、 sn_clotho 名前空間内で実行する必要があります。
クライアント:client()
メトリックベース データベースにアクセスするためのクライアントクラスのインスタンスを作成します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
var client = new sn_clotho.Client();
クライアント - accumulate(GlideRecord now_GR, 文字列メトリクス)
指定されたタイムスタンプでメトリクス値を累積し、値を上書きするのではなく結果をデータベースに保存します。
このメソッドを使用 を使用して、電気のキロワット時 (kWhs) など、累積の合計できるメトリクスを処理します。Accumulate は、指定されたタイムスタンプで各メトリクスを呼び出します。たとえば、ヒーター、電気ケトル、洗濯機のためにキロワットを集めると、3 回のコールが蓄積されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| now_GR | GlideRecord | 累積値を取得する系列 GlideRecord の名前。 関連項目: getSeries() |
| default_value | 数値 | オプション。 指定されたタイムスタンプでの累積のデフォルト値。指定されたタイムスタンプで値が使用できない場合に累積する最初の呼び出し中にのみ使用されます。 ユースケースとしては、total_powerのワットメトリクスを累積することが考えられます。コンセントに接続されたルーターを測定するための電力計なしでワットを蓄積したいと考えています。消費値がわかっていて、それが一定である場合)、定数値をデフォルト値として使用してtotal_powerを累積できます。たとえば、ルーターが常に接続され、20 ワットを消費する場合は 20 を使用します。 タイムスタンプ値は、 DataBuilder API を使用して指定できます。 デフォルト:0 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、「building_a」というレコードにtotal_powerメトリクス値を累積する方法を示しています。
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'
クライアント:deleteMetric(String tableName, String metricName)
メトリックベースデータベースの指定されたテーブルから指定されたメトリクスを削除します
| 名前 | タイプ | 説明 |
|---|---|---|
| tableName | 文字列 | 指定されたメトリクスを削除するテーブルの名前。 |
| metricName | 文字列 | メトリクスの名前。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、テーブルからメトリクスを削除する方法を示しています。
var client = new sn_clotho.Client();
// delete metric (Speed) from the Drones table
client.deleteMetric("mb_demo_drone", "mb_demo_mt_speed");
クライアント:deleteSeries(GlideRecord now_GR, 文字列メトリクス)
指定された GlideRecord 内の指定されたメトリクスに関連付けられた メトリックベース データベースのデータを削除します。この方法は、テストデータの削除に使用します。
| 名前 | タイプ | 説明 |
|---|---|---|
| now_GR | GlideRecord | 指定されたメトリクスの時系列データを削除するレコード。 |
| メトリクス | 文字列 | メトリクスの名前。 |
| タイプ | 説明 |
|---|---|
| なし |
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');
クライアント:getSeries(GlideRecord now_GR, 文字列 metricName, GlideDateTime lastUpdateBefore)
特定のディメンションからすべての系列を取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| now_GR | GlideRecord | 系列を取得するレコード。 |
| メトリクス | 文字列 | メトリクスの名前。 |
| lastUpdateBefore | GlideDateTime | オプション。評価する期間の終了を表す将来の日付。 |
| タイプ | 説明 |
|---|---|
| アレイ | 指定されたメトリクスのデータを含む系列を表す文字列sys_idsのリスト。lastUpdateBefore パラメーターが指定されている場合は、lastUpdateBefore の日付 (包括的でない) より新しいデータを持たない系列を返します。 |
次の例は、ドローン [mb_demo_drone] テーブルにリストされている速度値の完全なリストを取得する方法を示しています。
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');
クライアント:put(オブジェクト metricData)
メトリクスデータを メトリックベース データベースに保存します。
| 名前 | タイプ | 説明 |
|---|---|---|
| メトリクスデータ | オブジェクト | 次のいずれかになります。
|
| タイプ | 説明 |
|---|---|
| なし |
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]);