MetricInfo - スコープ対象、グローバル

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:4分
  • MetricInfo API は、メトリクスが メトリックベース データベースにあるかどうかを確認し、ある場合はその保持ポリシーをレポートするメソッドを提供します。保持ポリシーは分単位でレポートされます。

    このクラスは、スコープ対象およびグローバルサーバースクリプトで呼び出すことができます。MetricInfo クラスを使用する場合は、sn_clotho 名前空間識別子を使用します。

    このクラスは、 メトリックベース 利用できません

    MetricInfo – MetricInfo(文字列テーブル、文字列メトリクス)

    MetricInfo クラスのインスタンスを作成します。

    表 : 1. パラメーター
    名前 タイプ 説明
    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()

    指定されたメトリクスの保持ポリシースケジュールを取得します。

    メトリック ベース保持ポリシーも参照してください。

    表 : 2. パラメーター
    名前 タイプ 説明
    なし
    表 : 3. 返される内容
    タイプ 説明
    オブジェクト 保持ポリシー [sys_metric_retention_policy] テーブルにリストされている指定されたメトリクスの保持ポリシースケジュール (分) を表すキーと値のペアを含む JSON オブジェクト。
    メトリクスに属する保持ポリシースケジュールごとに、オブジェクトには、保持期間をサンプリング期間にマッピングする対応するキーと値のペアが含まれます。
    • キー:保持ポリシースケジュールの保持期間 (分)。

      データタイプ:文字列

    • 値:保持ポリシースケジュールのサンプリング期間 (分)。

      データタイプ:数値

    "<retentionDuration>": <samplingPeriod>

    次の例は、保持ポリシーのスケジュールをループしてログメッセージをコンパイルする方法を示しています。メッセージには、分から日に変換された保持期間と、対応するサンプリング期間が含まれます。

    // 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 オブジェクトで定義されたテーブルにマッピングされているかどうかを示します。

    表 : 4. パラメーター
    名前 タイプ 説明
    なし
    表 : 5. 返される内容
    タイプ 説明
    ブーリアン

    MetricInfo オブジェクトで指定されたメトリクスが指定されたテーブルにマップされているかどうかを示すフラグ。

    有効な値:
    • true:指定されたメトリクスは有効です。
    • false:指定されたメトリクスまたはテーブルが存在しないか、メトリクスがテーブルにマップされていません。

    次の例は、高度 (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
    }