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 { CommandableLambdaClient } from 'pip-services4-aws-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 PerfMonCommandableLambdaClientV1 extends CommandableLambdaClient implements IPerfMonClientV1 { constructor(config?: any) { super('counters'); 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 ); } }