Revert "Telemetry: Auto-export to GCP if GOOGLE_CLOUD_PROJECT is set" (#1011)

This commit is contained in:
Jerop Kipruto
2025-06-13 10:27:22 -07:00
committed by GitHub
parent daceb9963f
commit 1f63f3331f
3 changed files with 90 additions and 228 deletions

View File

@@ -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;

View File

@@ -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,