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> { return await this.callCommand( 'read_counters', context, { filter: filter, paging: paging } ); } public async writeCounter(context: IContext, counter: CounterV1): Promise { return await this.callCommand( 'write_counter', context, { counter: counter } ); } public async writeCounters(context: IContext, counters: CounterV1[]): Promise { return await this.callCommand( 'write_counters', context, { counters: counters } ); } public async clear(context: IContext): Promise { return await this.callCommand( 'clear', context, null ); } }