MetricInfo:スコープ指定、グローバル

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:4分
  • MetricInfo API には、メトリクスが メトリックベース データベースにあるかどうかを確認し、存在する場合は保持ポリシーを報告するメソッドが用意されています。保持ポリシーは数分で報告されます。

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

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

    MetricInfo – MetricInfo(文字列 table, 文字列 metric)

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

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

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

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

    表 : 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
    }