클라이언트 - 범위, 전역
클라이언트 API는 데이터베이스에 MetricBase 데이터를 추가하고, 데이터베이스에서 MetricBase 변환을 실행하고, 변환 결과를 받는 메서드를 제공합니다.
범위가 지정된 서버 스크립트와 전역 서버 스크립트 모두에서 클라이언트 클래스를 사용할 수 있습니다. 이 클래스는 애플리케이션의 MetricBase 일부이며 sn_clotho 네임스페이스 내에서 실행되어야 합니다.
클라이언트 - client()
데이터베이스에 액세스할 클라이언트 클래스의 인스턴스를 만듭니다.MetricBase
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
var client = new sn_clotho.Client();
클라이언트 - 누적(GlideRecord now_GR, 문자열 메트릭)
지정된 타임스탬프에 메트릭 값을 누적하고 값을 덮어쓰지 않고 결과를 데이터베이스에 저장합니다.
이 방법 사용 를 사용하여 전기의 킬로와트시(kWhs)와 같이 누적에 대해 합산할 수 있는 메트릭을 처리합니다. Accumulate는 제공된 타임스탬프에서 각 메트릭을 호출합니다. 예를 들어, 히터, 전기 주전자, 세탁기를 위해 수집된 킬로와트는 세 번의 호출을 축적합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| now_GR | GlideRecord | 누적 값을 가져올 계열 GlideRecord의 이름입니다. 참조: getSeries() |
| default_value | 번호 | 옵션입니다. 지정된 타임스탬프에서의 누적에 대한 기본값입니다. 지정된 타임스탬프에 값을 사용할 수 없는 경우 누적하기 위해 처음 호출 중에만 사용됩니다. 사용 사례는 total_power에 대한 와트 메트릭을 누적하는 것일 수 있습니다. 측정할 전력계가 없는 콘센트에 연결된 라우터에 대해 와트를 축적하려고 합니다. 소비 값을 알고 있고 상수인 경우) 상수 값을 기본값으로 사용하여 total_power 누적할 수 있습니다. 예를 들어 라우터가 계속 연결되어 있고 20와트를 소비하는 경우 20을 사용합니다. 타임스탬프 값은 DataBuilder API를 사용하여 제공할 수 있습니다. 기본값: 0 |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 예는 building_a라는 레코드에 total_power 메트릭 값을 누적하는 방법을 보여줍니다.
var time = new GlideDateTime();
// total_power is the name of a metric within building_a which stores accumulated values
var dataBuilder1 = new sn_clotho.DataBuilder(building_a, "total_power");
// values to be accumulated
dataBuilder1.add(time, 3.5);
new sn_clotho.Client().accumulate(dataBuilder1, 0);
var dataBuilder2 = new sn_clotho.DataBuilder(building_a, "total_power");
// values to be accumulated
dataBuilder2.add(time, 12);
new sn_clotho.Client().accumulate(dataBuilder2, 0);
var dataBuilder3 = new sn_clotho.DataBuilder(building_a, "total_power");
// values to be accumulated
dataBuilder3.add(time, 4.3);
new sn_clotho.Client().accumulate(dataBuilder3, 0);
// As a result, client saves value of 3.5+12+4.3+0(default value) at the timestamp 'time'
클라이언트 - deleteMetric(String tableName, String metricName)
데이터베이스의 지정된 테이블 MetricBase 에서 지정된 메트릭을 제거합니다
| 이름 | 유형 | 설명 |
|---|---|---|
| tableName | 문자열 | 지정된 메트릭이 삭제될 테이블의 이름입니다. |
| metricName | 문자열 | 메트릭의 이름입니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 예는 테이블에서 메트릭을 제거하는 방법을 보여줍니다.
var client = new sn_clotho.Client();
// delete metric (Speed) from the Drones table
client.deleteMetric("mb_demo_drone", "mb_demo_mt_speed");
클라이언트 - deleteSeries(GlideRecord now_GR, 문자열 메트릭)
지정된 GlideRecord에서 지정된 메트릭과 연결된 데이터베이스의 MetricBase 데이터를 제거합니다. 이 방법을 사용하여 테스트 데이터를 제거합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| now_GR | GlideRecord | 지정된 메트릭에 대한 시계열 데이터가 삭제될 기록입니다. |
| 메트릭 | 문자열 | 메트릭의 이름입니다. |
| 유형 | 설명 |
|---|---|
| 무효 |
var client = new sn_clotho.Client();
//query drones of a specific model
var drones = new GlideRecord("mb_demo_drone");
drones.addQuery("model", "Kingfisher Phantom");
drones.query();
client.deleteSeries(drones, 'mb_demo_mt_speed');
클라이언트 - getSeries(GlideRecord now_GR, String metricName, GlideDateTime lastUpdateBefore)
특정 차원에서 모든 계열을 가져옵니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| now_GR | GlideRecord | 계열을 가져올 기록입니다. |
| 메트릭 | 문자열 | 메트릭의 이름입니다. |
| lastUpdateBefore | GlideDateTime | 옵션입니다. 평가할 기간의 종료를 나타내는 미래의 날짜입니다. |
| 유형 | 설명 |
|---|---|
| 배열 | 지정된 메트릭에 대한 데이터를 포함하는 계열을 나타내는 문자열 sys_ids의 목록입니다. 매개변수가 lastUpdateBefore 제공되면 lastUpdateBefore 날짜(포함되지 않음)보다 최근의 데이터가 없는 계열을 반환합니다. |
다음 예제는 드론 [mb_demo_drone] 테이블에 나열된 속도 값의 전체 목록을 가져오는 방법을 보여줍니다.
var client = new sn_clotho.Client();
// query subject records
var grDrone = new GlideRecord('mb_demo_drone');
grDrone.query();
var series = client.getSeries(grDrone,'mb_demo_mt_speed');
클라이언트 - put(객체 metricData)
메트릭 데이터를 데이터베이스에 저장합니다.MetricBase
| 이름 | 유형 | 설명 |
|---|---|---|
| 메트릭 데이터 | 객체 | 다음 중 하나입니다.
|
| 유형 | 설명 |
|---|---|
| 무효 |
var time = new GlideDateTime();
// two different GlideRecord instances and metrics
var dataBuilder = new sn_clotho.DataBuilder(now_GR, 'cpu_percentage');
dataBuilder.add(time, 0.6);
var dataBuilder2 = new sn_clotho.DataBuilder(gr2, 'disk_free_percentage');
dataBuilder2.add(time, 0.2);
new sn_clotho.Client().put([dataBuilder,dataBuilder2]);