mirror of
https://github.com/zebrajr/immich.git
synced 2025-12-06 12:20:54 +01:00
24 lines
790 B
TypeScript
24 lines
790 B
TypeScript
import { MetricOptions } from '@opentelemetry/api';
|
|
import { ClassConstructor } from 'class-transformer';
|
|
|
|
export const ITelemetryRepository = 'ITelemetryRepository';
|
|
|
|
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 ITelemetryRepository {
|
|
setup(options: { repositories: ClassConstructor<unknown>[] }): void;
|
|
api: IMetricGroupRepository;
|
|
host: IMetricGroupRepository;
|
|
jobs: IMetricGroupRepository;
|
|
repo: IMetricGroupRepository;
|
|
}
|