@pulzar/core
Version:
Next-generation Node.js framework for ultra-fast web applications with zero-reflection DI, GraphQL, WebSockets, events, and edge runtime support
80 lines • 2.04 kB
TypeScript
export interface TelemetryConfig {
serviceName: string;
serviceVersion: string;
environment: string;
enableTracing: boolean;
enableMetrics: boolean;
enableLogs: boolean;
exporters: {
traces?: {
type: "console" | "jaeger" | "otlp";
endpoint?: string;
};
metrics?: {
type: "console" | "prometheus" | "otlp";
endpoint?: string;
interval?: number;
};
logs?: {
type: "console" | "otlp";
endpoint?: string;
};
};
instrumentations?: {
http?: boolean;
express?: boolean;
fs?: boolean;
dns?: boolean;
redis?: boolean;
mysql?: boolean;
postgres?: boolean;
};
}
export declare class TelemetryManager {
private sdk?;
private config;
private isInitialized;
constructor(config?: Partial<TelemetryConfig>);
/**
* Initialize OpenTelemetry SDK
*/
initialize(): Promise<void>;
/**
* Shutdown telemetry
*/
shutdown(): Promise<void>;
/**
* Get configured instrumentations
*/
private getInstrumentations;
/**
* Get trace exporter
*/
private getTraceExporter;
/**
* Get metric readers
*/
private getMetricReaders;
/**
* Generate service instance ID
*/
private generateInstanceId;
/**
* Get current configuration
*/
getConfig(): TelemetryConfig;
/**
* Update configuration
*/
updateConfig(config: Partial<TelemetryConfig>): void;
/**
* Check if telemetry is initialized
*/
isActive(): boolean;
}
export declare const telemetry: TelemetryManager;
export declare function initializeTelemetry(config?: Partial<TelemetryConfig>): Promise<void>;
export declare function shutdownTelemetry(): Promise<void>;
export declare function getTelemetryConfig(): TelemetryConfig;
export declare function isTelemetryActive(): boolean;
//# sourceMappingURL=otel.d.ts.map