All files / src/types/client MetricsClientFactory.ts

83.33% Statements 5/6
66.66% Branches 2/3
100% Functions 1/1
83.33% Lines 5/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19    1x 1x   1x   1x           1x          
import { MetricsConfig } from '../Configuration';
import { IMetricClient } from './IMetricClient';
import { OTLPClient } from './OTLPClient';
import { StatsDClient } from './StatsDClient';
 
export class MetricClientFactory {
  static createClient(config: MetricsConfig): IMetricClient {
    switch (config.client.toLowerCase()) {
      case 'statsd': {
        return new StatsDClient(config.hostname, config.port, config.enabled);
      }
      case 'otlp':
      default: {
        return new OTLPClient(config.hostname, config.port, config.enabled);
      }
    }
  }
}