UNPKG

jinko-mcp-dev

Version:

MCP server for Jinko Travel BFF

47 lines (46 loc) 1.61 kB
/** * Unified telemetry module exports * Single implementation that works in all environments */ import { UnifiedInstrumentation, UnifiedLogger, UnifiedMetrics, LogLevel } from './unified-telemetry.js'; export { UnifiedInstrumentation, UnifiedLogger, UnifiedMetrics, LogLevel }; export { TelemetryMiddleware } from './middleware.js'; // Default configuration from environment export const defaultTelemetryConfig = { endpoint: process.env.OTEL_EXPORTER_OTLP_ENDPOINT || 'https://log.api.jinko.so', headers: process.env.OTEL_EXPORTER_OTLP_HEADERS ? parseHeaders(process.env.OTEL_EXPORTER_OTLP_HEADERS) : {}, timeout: parseInt(process.env.OTEL_EXPORTER_OTLP_TIMEOUT || '10000'), }; function parseHeaders(headersString) { const headers = {}; headersString.split(',').forEach(header => { const [key, value] = header.split('='); if (key && value) { headers[key.trim()] = value.trim(); } }); return headers; } // Global telemetry instance let globalInstrumentation = null; export function initializeTelemetry(config = {}) { if (!globalInstrumentation) { const finalConfig = { ...defaultTelemetryConfig, ...config }; globalInstrumentation = new UnifiedInstrumentation(finalConfig); } return globalInstrumentation; } export function getTelemetry() { if (!globalInstrumentation) { return initializeTelemetry(); } return globalInstrumentation; } export function getLogger() { return getTelemetry().getLogger(); } export function getMetrics() { return getTelemetry().getMetrics(); }