MetricInfo - スコープ対象、グローバル
MetricInfo API は、メトリクスが メトリックベース データベースにあるかどうかを確認し、ある場合はその保持ポリシーをレポートするメソッドを提供します。保持ポリシーは分単位でレポートされます。
このクラスは、スコープ対象およびグローバルサーバースクリプトで呼び出すことができます。MetricInfo クラスを使用する場合は、sn_clotho 名前空間識別子を使用します。
このクラスは、 メトリックベース 利用できません
MetricInfo – MetricInfo(文字列テーブル、文字列メトリクス)
MetricInfo クラスのインスタンスを作成します。
| 名前 | タイプ | 説明 |
|---|---|---|
| table | 文字列 | 時系列メトリクス [sys_metric] テーブルにリストされているメトリクステーブル名。 |
| メトリクス | 文字列 | 時系列メトリクス [sys_metric] テーブルにリストされているメトリクスフィールド名。このフィールド名はテーブル名にマッピングする必要があります。 |
次の例は、Drones [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
}