MetricInfo - 범위가 지정됨, 전역

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기4분
  • MetricInfo API는 메트릭이 데이터베이스에 있는지 MetricBase 확인하고 있는 경우 보존 정책을 보고하는 메서드를 제공합니다. 보존 정책은 분 단위로 보고됩니다.

    범위가 지정된 스크립트와 전역 서버 스크립트에서 이 클래스를 호출할 수 있습니다. MetricInfo 클래스를 사용하는 경우 sn_clotho 네임스페이스 식별자를 사용합니다.

    이 클래스는 MetricBase 신청.

    MetricInfo – MetricInfo(문자열 테이블, 문자열 메트릭)

    MetricInfo 클래스의 인스턴스를 만듭니다.

    표 1. 매개변수
    이름 유형 설명
    테이블 문자열 시계열 메트릭 [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()

    지정된 메트릭의 보존 정책 일정을 가져옵니다.

    다른 살펴볼 내용 MetricBase 보존 정책.

    표 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
    }