UNPKG

client-perfmon2-node

Version:

Node.js / ES2017 client sdk for perfmon microservice

68 lines (58 loc) 2.13 kB
import { IContext } from 'pip-services4-components-node'; import { ConfigParams } from 'pip-services4-components-node'; import { IReferences } from 'pip-services4-components-node'; import { FilterParams } from 'pip-services4-data-node'; import { PagingParams } from 'pip-services4-data-node'; import { DataPage } from 'pip-services4-data-node'; import { CommandableHttpClient } from 'pip-services4-http-node'; import { CompositeLogger } from 'pip-services4-observability-node' import { CompositeCounters } from 'pip-services4-observability-node' import { CounterV1 } from './CounterV1'; import { IPerfMonClientV1 } from './IPerfMonClientV1'; export class PerfMonCommandableHttpClientV1 extends CommandableHttpClient implements IPerfMonClientV1 { constructor(config?: any) { super('v1/perfmon'); if (config != null) this.configure(ConfigParams.fromValue(config)); } public setReferences(references: IReferences) { super.setReferences(references); this._logger = new CompositeLogger(); this._counters = new CompositeCounters(); } public async readCounters(context: IContext, filter: FilterParams, paging: PagingParams): Promise<DataPage<CounterV1>> { return await this.callCommand( 'read_counters', context, { filter: filter, paging: paging } ); } public async writeCounter(context: IContext, counter: CounterV1): Promise<CounterV1> { return await this.callCommand( 'write_counter', context, { counter: counter } ); } public async writeCounters(context: IContext, counters: CounterV1[]): Promise<void> { return await this.callCommand( 'write_counters', context, { counters: counters } ); } public async clear(context: IContext): Promise<void> { return await this.callCommand( 'clear', context, null ); } }