MetricInfo:スコープ指定、グローバル
MetricInfo API には、メトリクスがメトリックベースデータベースにあるかどうかを確認し、存在する場合はその保持ポリシーを報告するメソッドが用意されています。保持ポリシーは数分で報告されます。
このクラスは、スコープ対象のサーバースクリプトおよびグローバルサーバースクリプトで呼び出すことができます。MetricInfo クラスを使用する場合は、sn_clotho名前空間識別子を使用します。
このクラスは、 メトリックベース 利用できません
MetricInfo – MetricInfo(文字列 table, 文字列 metric)
MetricInfo クラスのインスタンスを作成します。
| 名前 | タイプ | 説明 |
|---|---|---|
| table | 文字列 | 時系列測定基準 [sys_metric] テーブルのリストに入っている測定基準テーブル名。 |
| metric | 文字列 | 時系列測定基準 [sys_metric] テーブルのリストに入っている測定基準フィールド名。このフィールド名をテーブル名にマッピングする必要があります。 |
次の例は、ドローン [mb_demo_drone] テーブルに関連付けられた高度 (mb_demo_mt_altitude) 測定基準を使用して MetricInfo オブジェクトを構築する方法を示しています。
var metricInfo = new sn_clotho.MetricInfo('mb_demo_drone','mb_demo_mt_altitude');
MetricInfo – getRetentionSchedulesInMinutes()
指定された測定基準の保持ポリシースケジュールを取得します。
メトリックベース保持ポリシーも参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| オブジェクト | 保持ポリシー [sys_metric_retention_policy] テーブルのリストにある指定された測定基準の保持ポリシースケジュール (単位:分) を表すキーと値のペアを含む JSON オブジェクト。 測定基準に属する保持ポリシースケジュールごとに、保持期間をサンプリング期間にマッピングする対応するキーと値のペアがオブジェクトに含まれています。
|
次の例は、保持ポリシースケジュールをループしてログメッセージをコンパイルする方法を示しています。メッセージには、分単位から日単位に変換された保持期間と、それに対応するサンプリング期間が含まれています。
// Function to convert minutes to days
function toDays(minutes) {
return minutes / 60 / 24;
};
var metricInfo = new sn_clotho.MetricInfo('mb_demo_drone','mb_demo_mt_altitude');
var schedules = metricInfo.getRetentionSchedulesInMinutes();
var log = '';
// Compiles a log message with retention schedules
for (var duration in schedules) {
log += "Retention duration is: " + toDays(duration) +
" days, Sampling period is: " + schedules[duration] + " minutes\n";
}
gs.info(log);
出力:
Retention duration is: 8 days, Sampling period is: 1 minutes
Retention duration is: 94 days, Sampling period is: 10 minutes
Retention duration is: 397 days, Sampling period is: 60 minutes
MetricInfo – isValid()
指定した測定基準が、MetricInfo オブジェクトで定義されているテーブルにマッピングされているかどうかを示します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブーリアン | MetricInfo オブジェクトで指定した測定基準が指定したテーブルにマッピングされているかどうかを示すフラグ。 有効な値:
|
次の例は、高度 (mb_demo_mt_altitude) 測定基準がドローン [mb_demo_drone] テーブルにあるかどうかを確認し、存在する場合はその保持スケジュールを返す方法を示しています。出力例は、サンプリング間隔にマッピングされたポリシー期間 (単位:分) を反映しています。
var metricInfo = new sn_clotho.MetricInfo('mb_demo_drone','mb_demo_mt_altitude');
if (metricInfo.isValid())
{
var retentionSchedules = metricInfo.getRetentionSchedulesInMinutes();
gs.info(JSON.stringify(retentionSchedules, null, 2));
}
else
{
gs.info("metricInfo is invalid");
}
出力:
{
"11520": 1,
"135360": 10,
"571680": 60
}