@vtex/diagnostics-nodejs
Version:
Diagnostics library for Node.js applications
56 lines • 1.78 kB
TypeScript
import { LogClient } from "./logs";
import { MetricClient } from "./metrics";
import { TraceClient } from "./traces";
import { Exporter } from "./exporters";
import { Resource } from "@opentelemetry/resources";
export interface TelemetryClient {
newLogsClient(exporter: Exporter, options?: any): Promise<LogClient>;
newMetricsClient?(exporter: Exporter, options?: any): Promise<MetricClient>;
newTracesClient?(exporter: Exporter, sampler?: any, options?: any): Promise<TraceClient>;
getResource?(): Resource;
}
export interface TelemetryClientConfig {
clientName: string;
serviceName: string;
resource?: Resource;
}
export interface ResourceDiscoveryOptions {
envMappings?: {
envVar: string;
attributeName: string;
defaultValue?: string;
}[];
customAttributesFile?: string;
additionalAttrs?: Record<string, string>;
disableCloudDetect?: boolean;
disableK8sDetect?: boolean;
environment?: string;
region?: string;
}
export interface TelemetryConfig {
serviceName: string;
resourceAttributes?: Record<string, string>;
endpoint?: string;
timeoutMillis?: number;
}
export interface VtexProcessorConfig {
customAttributes?: Record<string, string>;
}
export interface TelemetryClientOptions {
enableVtexProcessor?: boolean;
vtexProcessorConfig?: VtexProcessorConfig;
enableBaggageProcessor?: boolean;
envMappings?: {
envVar: string;
attributeName: string;
defaultValue?: string;
}[];
customAttributesFile?: string;
additionalAttrs?: Record<string, string>;
disableCloudDetect?: boolean;
disableK8sDetect?: boolean;
environment?: string;
region?: string;
debug?: boolean;
}
//# sourceMappingURL=telemetry.d.ts.map