import { MetricName , MetricType } from '../common' ; import { Counter , Histogram , Meter , Timer , FastCompass } from './MetricsProxy' ; import { MetricsProcessChannel } from './MetricsProcessChannel' ; import { Proxiable } from './domain' ; deprecated export class MetricsManagerClient { static metricsProcessChannel = MetricsProcessChannel . getInstance ( ) ; static register ( group , name , metric ) { if ( ! metric . type ) { metric . type = MetricType . GAUGE ; } this . metricsProcessChannel . register ( group , name , metric ) ; } static getCounter ( group , name ) { const counter = new Counter ( ) ; this . register ( group , name , counter ) ; return counter ; } static getTimer ( group , name ) { const timer = new Timer ( ) ; this . register ( group , name , timer ) ; return timer ; } static getMeter ( group , name ) { const meter = new Meter ( ) ; this . register ( group , name , meter ) ; return meter ; } static getHistogram ( group , name ) { const histogram = new Histogram ( ) ; this . register ( group , name , histogram ) ; return histogram ; } static getFastCompass ( group , name ) { const fastCompass = new FastCompass ( ) ; this . register ( group , name , fastCompass ) ; return fastCompass ; } }