UNPKG

@erickluis00/otelviewer

Version:

Shared OpenTelemetry tracing utilities, types, and batch processor for Realtime OpenTelemetry Viewer [WIP]

45 lines 1.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ENV_VARS = exports.DEFAULT_CONFIG = void 0; exports.createConfig = createConfig; exports.logConfig = logConfig; /** * Default configuration values */ exports.DEFAULT_CONFIG = { ingestUrl: 'http://localhost:3000/api/traces/ingest-spans', ingestSecret: 'ingest-secret-random-string', projectId: 'default-project', snapshotInterval: process.env.NODE_ENV === 'production' ? 1000 : 200, viewerPort: 4445, }; /** * Environment variable names used for configuration */ exports.ENV_VARS = { INGEST_URL: 'OTEL_VIEWER_INGEST_URL', INGEST_SECRET: 'OTEL_VIEWER_INGEST_SECRET', PROJECT_ID: 'OTEL_PROJECT_ID', VIEWER_PORT: 'OTEL_VIEWER_PORT', }; /** * Create configuration from environment variables and optional overrides */ function createConfig(overrides = {}) { return { ingestUrl: overrides.ingestUrl || process.env[exports.ENV_VARS.INGEST_URL] || exports.DEFAULT_CONFIG.ingestUrl, ingestSecret: overrides.ingestSecret || process.env[exports.ENV_VARS.INGEST_SECRET] || exports.DEFAULT_CONFIG.ingestSecret, projectId: overrides.projectId || process.env[exports.ENV_VARS.PROJECT_ID] || exports.DEFAULT_CONFIG.projectId, snapshotInterval: overrides.snapshotInterval || exports.DEFAULT_CONFIG.snapshotInterval, viewerPort: overrides.viewerPort || parseInt(process.env[exports.ENV_VARS.VIEWER_PORT] || '') || exports.DEFAULT_CONFIG.viewerPort, }; } /** * Utility function to log configuration on startup */ function logConfig(config) { console.log(`🏷️ OTEL Project ID: ${config.projectId}`); console.log(`📡 OTEL Ingest URL: ${config.ingestUrl}`); console.log(`⏰ OTEL Snapshot Interval: ${config.snapshotInterval}ms`); } //# sourceMappingURL=config.js.map