summaryrefslogtreecommitdiff
path: root/packages/core/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/core/src')
-rw-r--r--packages/core/src/config/config.ts3
-rw-r--r--packages/core/src/telemetry/sdk.ts73
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,