diff options
Diffstat (limited to 'packages/core/src')
| -rw-r--r-- | packages/core/src/config/config.ts | 3 | ||||
| -rw-r--r-- | packages/core/src/telemetry/sdk.ts | 73 |
2 files changed, 17 insertions, 59 deletions
diff --git a/packages/core/src/config/config.ts b/packages/core/src/config/config.ts index 4962d2a7..48408201 100644 --- a/packages/core/src/config/config.ts +++ b/packages/core/src/config/config.ts @@ -143,7 +143,8 @@ export class Config { this.telemetry = params.telemetry ?? false; this.telemetryLogUserPromptsEnabled = params.telemetryLogUserPromptsEnabled ?? true; - this.telemetryOtlpEndpoint = params.telemetryOtlpEndpoint ?? ''; + this.telemetryOtlpEndpoint = + params.telemetryOtlpEndpoint ?? 'http://localhost:4317'; this.fileFilteringRespectGitIgnore = params.fileFilteringRespectGitIgnore ?? true; this.checkpoint = params.checkpoint ?? false; diff --git a/packages/core/src/telemetry/sdk.ts b/packages/core/src/telemetry/sdk.ts index e1750a86..61f501a6 100644 --- a/packages/core/src/telemetry/sdk.ts +++ b/packages/core/src/telemetry/sdk.ts @@ -71,77 +71,34 @@ export function initializeTelemetry(config: Config): void { 'session.id': config.getSessionId(), }); - const otlpEndpointSetting = config.getTelemetryOtlpEndpoint(); - const gcpProjectId = process.env.GOOGLE_CLOUD_PROJECT; + const otlpEndpoint = config.getTelemetryOtlpEndpoint(); + const grpcParsedEndpoint = parseGrpcEndpoint(otlpEndpoint); + const useOtlp = !!grpcParsedEndpoint; - let spanExporter; - let logExporter; - let metricReader; - - if (otlpEndpointSetting && otlpEndpointSetting.trim() !== '') { - const grpcParsedEndpoint = parseGrpcEndpoint(otlpEndpointSetting); - if (grpcParsedEndpoint) { - diag.info(`Using user-configured OTLP endpoint: ${grpcParsedEndpoint}`); - spanExporter = new OTLPTraceExporter({ + const spanExporter = useOtlp + ? new OTLPTraceExporter({ url: grpcParsedEndpoint, compression: CompressionAlgorithm.GZIP, - }); - logExporter = new OTLPLogExporter({ + }) + : new ConsoleSpanExporter(); + const logExporter = useOtlp + ? new OTLPLogExporter({ url: grpcParsedEndpoint, compression: CompressionAlgorithm.GZIP, - }); - metricReader = new PeriodicExportingMetricReader({ + }) + : new ConsoleLogRecordExporter(); + const metricReader = useOtlp + ? new PeriodicExportingMetricReader({ exporter: new OTLPMetricExporter({ url: grpcParsedEndpoint, compression: CompressionAlgorithm.GZIP, }), exportIntervalMillis: 10000, - }); - } else { - diag.warn( - `Invalid user-configured OTLP endpoint: "${otlpEndpointSetting}". Falling back to console exporter.`, - ); - spanExporter = new ConsoleSpanExporter(); - logExporter = new ConsoleLogRecordExporter(); - metricReader = new PeriodicExportingMetricReader({ + }) + : new PeriodicExportingMetricReader({ exporter: new ConsoleMetricExporter(), exportIntervalMillis: 10000, }); - } - } else if (gcpProjectId) { - diag.info( - `No OTLP endpoint configured, GOOGLE_CLOUD_PROJECT detected (${gcpProjectId}). Exporting telemetry to Google Cloud.`, - ); - const gcpTraceUrl = 'https://trace.googleapis.com:443'; - const gcpMetricUrl = 'https://monitoring.googleapis.com:443'; - const gcpLogUrl = 'https://logging.googleapis.com:443'; - - spanExporter = new OTLPTraceExporter({ - url: gcpTraceUrl, - compression: CompressionAlgorithm.GZIP, - }); - logExporter = new OTLPLogExporter({ - url: gcpLogUrl, - compression: CompressionAlgorithm.GZIP, - }); - metricReader = new PeriodicExportingMetricReader({ - exporter: new OTLPMetricExporter({ - url: gcpMetricUrl, - compression: CompressionAlgorithm.GZIP, - }), - exportIntervalMillis: 10000, - }); - } else { - diag.info( - 'No OTLP endpoint or GOOGLE_CLOUD_PROJECT detected. Using console exporters.', - ); - spanExporter = new ConsoleSpanExporter(); - logExporter = new ConsoleLogRecordExporter(); - metricReader = new PeriodicExportingMetricReader({ - exporter: new ConsoleMetricExporter(), - exportIntervalMillis: 10000, - }); - } sdk = new NodeSDK({ resource, |
