Configuration for the telemetry system

interface TelemetryConfig {
    appName: string;
    appVersion?: string;
    otlpEndpoint: string;
    otlpHeaders?: Record<string, string>;
    environment?: string;
    enableTracing?: boolean;
    enableMetrics?: boolean;
    enableAutoInstrumentation?: boolean;
    captureMessageContent?: boolean;
    samplingRatio?: number;
    metricExportIntervalMs?: number;
    resourceAttributes?: Record<string, string | number | boolean>;
}

Properties

appName: string

Application name (used as service name)

appVersion?: string

Application version (optional)

otlpEndpoint: string

OTLP endpoint for traces (e.g., http://localhost:4318/v1/traces)

otlpHeaders?: Record<string, string>

Custom headers for OTLP exporter

environment?: string

Deployment environment (e.g., development, staging, production)

enableTracing?: boolean

Enable tracing (default: true)

enableMetrics?: boolean

Enable metrics (default: true)

enableAutoInstrumentation?: boolean

Enable auto-instrumentation for HTTP, databases, etc. (default: true)

captureMessageContent?: boolean

Capture message content in traces (default: true, set false for privacy)

samplingRatio?: number

Sampling ratio for traces (0.0 to 1.0, default: 1.0 = 100%)

metricExportIntervalMs?: number

Metric export interval in milliseconds (default: 60000 = 1 minute)

resourceAttributes?: Record<string, string | number | boolean>

Additional resource attributes