Telemetry: Auto-export to GCP if GOOGLE_CLOUD_PROJECT is set (#1003)

This change simplifies telemetry setup for users who want to integrate with GCP, as they no longer need to configure a local collector or an explicit endpoint if their project is already set up in the environment.

This change updates the telemetry system to automatically export traces, logs, and metrics to Google Cloud Platform (GCP) if the `GOOGLE_CLOUD_PROJECT` environment variable is set and no explicit `telemetryOtlpEndpoint` is configured by the user.

Key changes:
-   The default `telemetryOtlpEndpoint` in `Config` is now an empty string.
-   The `initializeTelemetry` SDK logic now prioritizes:
    -  User-defined `telemetryOtlpEndpoint`.
    -  `GOOGLE_CLOUD_PROJECT` for direct GCP export.
    -  Console exporters as a fallback.
-   If an invalid `telemetryOtlpEndpoint` is provided, it falls back to console exporters with a warning.

#750
This commit is contained in:
Jerop Kipruto
2025-06-13 03:51:41 -04:00
committed by GitHub
parent b20c8389f3
commit 95e4a60a83
3 changed files with 226 additions and 88 deletions

View File

@@ -141,8 +141,7 @@ export class Config {
this.telemetry = params.telemetry ?? false;
this.telemetryLogUserPromptsEnabled =
params.telemetryLogUserPromptsEnabled ?? true;
this.telemetryOtlpEndpoint =
params.telemetryOtlpEndpoint ?? 'http://localhost:4317';
this.telemetryOtlpEndpoint = params.telemetryOtlpEndpoint ?? '';
this.fileFilteringRespectGitIgnore =
params.fileFilteringRespectGitIgnore ?? true;
this.fileFilteringAllowBuildArtifacts =