UNPKG

nestjs-otel

Version:
30 lines (29 loc) 1.2 kB
import { ModuleMetadata, Type, Abstract } from '@nestjs/common'; import { Attributes } from '@opentelemetry/api-metrics'; import { RouteInfo } from '@nestjs/common/interfaces'; export declare type OpenTelemetryModuleOptions = { metrics?: OpenTelemetryMetrics; }; export interface OpenTelemetryOptionsFactory { createOpenTelemetryOptions(): Promise<OpenTelemetryModuleOptions> | OpenTelemetryModuleOptions; } export interface OpenTelemetryModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> { name?: string; useClass?: Type<OpenTelemetryOptionsFactory>; useExisting?: Type<OpenTelemetryOptionsFactory>; useFactory?: (...args: any[]) => Promise<OpenTelemetryModuleOptions> | OpenTelemetryModuleOptions; inject?: (string | symbol | Function | Type<any> | Abstract<any>)[]; } export declare type OpenTelemetryMetrics = { defaultMetrics?: boolean; hostMetrics?: boolean; apiMetrics?: { enable?: boolean; timeBuckets?: number[]; requestSizeBuckets?: number[]; responseSizeBuckets?: number[]; defaultAttributes?: Attributes; ignoreRoutes?: (string | RouteInfo)[]; ignoreUndefinedRoutes?: boolean; }; };