UNPKG

pandora-metrics

Version:
58 lines (57 loc) 1.98 kB
import { Metric, MetricName } from './common/index'; import { ProxyCreateMessage, ProxyUpdateMessage } from './domain'; import { Environment } from 'pandora-env'; import { MetricsMessengerClient } from './util/MessengerUtil'; import { Proxiable, Counter, Histogram, Meter, Timer } from './client/index'; import { AbstractIndicator } from './indicator/AbstractIndicator'; import { IMetricsRegistry } from './common/MetricsRegistry'; export declare class MetricsClient extends AbstractIndicator { environment: Environment; static getInstance(): MetricsClient; appName: string; allMetricsRegistry: IMetricsRegistry; protected messengerClient: MetricsMessengerClient; clientId: string; group: string; debug: any; static instance: MetricsClient; constructor(); /** * 注册 Client */ protected registerClient(): void; /** * 注册一个 Metric * * @example * let counter = new BaseCounter(); * MetricsClient.register('eagleeye', 'eagleeye.hsf.qps', counter); * counter.inc(2); * * @param {string} group * @param {} name * @param {Proxiable} metric */ register(group: string, name: MetricName | string, metric: Proxiable | Metric): void; reportMetric(name: MetricName, metric: Metric, group: string): void; /** * 发送上行消息 * @param data */ report(data: ProxyCreateMessage | ProxyUpdateMessage): void; invoke(args: { metricKey; type; }): Promise<any>; /** * 注册下行链路 */ protected registerDownlink(): void; protected getAppName(): any; getCounter(group: string, name: MetricName | string): Counter; getTimer(group: string, name: MetricName | string): Timer; getMeter(group: string, name: MetricName | string): Meter; getHistogram(group: string, name: MetricName | string): Histogram; private buildName(name); getNewMetricRegistry(): IMetricsRegistry; }