refactor(server): metric repo (#8278)

* refactor

* redundant `implements`

* simplify

* remove `enabled`
This commit is contained in:
Mert 2024-03-25 19:15:11 -04:00 committed by GitHub
parent c56c04a82b
commit c45e28ab53
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 79 additions and 34 deletions

View file

@ -1,13 +1,21 @@
import { MetricOptions } from '@opentelemetry/api';
export interface CustomMetricOptions extends MetricOptions {
enabled?: boolean;
}
export const IMetricRepository = 'IMetricRepository';
export interface IMetricRepository {
addToCounter(name: string, value: number, options?: CustomMetricOptions): void;
updateGauge(name: string, value: number, options?: CustomMetricOptions): void;
updateHistogram(name: string, value: number, options?: CustomMetricOptions): void;
export interface MetricGroupOptions {
enabled: boolean;
}
export interface IMetricGroupRepository {
addToCounter(name: string, value: number, options?: MetricOptions): void;
addToGauge(name: string, value: number, options?: MetricOptions): void;
addToHistogram(name: string, value: number, options?: MetricOptions): void;
configure(options: MetricGroupOptions): this;
}
export interface IMetricRepository {
api: IMetricGroupRepository;
host: IMetricGroupRepository;
jobs: IMetricGroupRepository;
repo: IMetricGroupRepository;
}