From 8330f404ec78bdb28dd60f65421ca2d3e2479577 Mon Sep 17 00:00:00 2001 From: nicktrn <55853254+nicktrn@users.noreply.github.com> Date: Fri, 26 Apr 2024 17:59:35 +0100 Subject: [PATCH] shared env var to disable telemetry in cli and webapp --- apps/webapp/app/env.server.ts | 1 + apps/webapp/app/services/telemetry.server.ts | 5 +++++ packages/cli-v3/src/telemetry/tracing.ts | 8 +++++++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/apps/webapp/app/env.server.ts b/apps/webapp/app/env.server.ts index 9df6b35e4..b2ccde49b 100644 --- a/apps/webapp/app/env.server.ts +++ b/apps/webapp/app/env.server.ts @@ -37,6 +37,7 @@ const EnvironmentSchema = z.object({ POSTHOG_PROJECT_KEY: z.string().optional(), TELEMETRY_TRIGGER_API_KEY: z.string().optional(), TELEMETRY_TRIGGER_API_URL: z.string().optional(), + TRIGGER_TELEMETRY_DISABLED: z.string().optional(), HIGHLIGHT_PROJECT_ID: z.string().optional(), AUTH_GITHUB_CLIENT_ID: z.string().optional(), AUTH_GITHUB_CLIENT_SECRET: z.string().optional(), diff --git a/apps/webapp/app/services/telemetry.server.ts b/apps/webapp/app/services/telemetry.server.ts index d6d83b23d..e6dfe1dd5 100644 --- a/apps/webapp/app/services/telemetry.server.ts +++ b/apps/webapp/app/services/telemetry.server.ts @@ -21,6 +21,11 @@ class Telemetry { #triggerClient: TriggerClient | undefined = undefined; constructor({ postHogApiKey, trigger }: Options) { + if (env.TRIGGER_TELEMETRY_DISABLED !== undefined) { + console.log("📉 Telemetry disabled"); + return; + } + if (postHogApiKey) { this.#posthogClient = new PostHog(postHogApiKey, { host: "https://eu.posthog.com" }); } else { diff --git a/packages/cli-v3/src/telemetry/tracing.ts b/packages/cli-v3/src/telemetry/tracing.ts index a85caea82..9c97e9683 100644 --- a/packages/cli-v3/src/telemetry/tracing.ts +++ b/packages/cli-v3/src/telemetry/tracing.ts @@ -9,9 +9,15 @@ import { SEMRESATTRS_SERVICE_NAME, SEMRESATTRS_SERVICE_VERSION, } from "@opentelemetry/semantic-conventions"; +import { logger } from "../utilities/logger"; function initializeTracing(): NodeTracerProvider | undefined { - if (process.argv.includes("--skip-telemetry") || process.env.TRIGGER_DEV_SKIP_TELEMETRY) { + if ( + process.argv.includes("--skip-telemetry") || + process.env.TRIGGER_DEV_SKIP_TELEMETRY || // only for backwards compat + process.env.TRIGGER_TELEMETRY_DISABLED + ) { + logger.debug("📉 Telemetry disabled"); return; }