From 9a7e05369c25b58edb4eef9e7680a6cc6b51da0c Mon Sep 17 00:00:00 2001 From: Sheen Capadngan Date: Thu, 6 Jun 2024 00:56:11 +0800 Subject: [PATCH] misc: added env-based flag for enabling telemetry --- .env.example | 3 ++- backend/src/lib/config/env.ts | 1 + backend/src/main.ts | 4 +++- backend/src/server/app.ts | 6 +++++- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.env.example b/.env.example index af63fe545..727686cb0 100644 --- a/.env.example +++ b/.env.example @@ -64,4 +64,5 @@ CLIENT_SECRET_GITHUB_LOGIN= CLIENT_ID_GITLAB_LOGIN= CLIENT_SECRET_GITLAB_LOGIN= -OTEL_COLLECTOR_OTLP_URL= \ No newline at end of file +OTEL_COLLECTOR_OTLP_URL= +OTEL_TELEMETRY_COLLECTION_ENABLED= diff --git a/backend/src/lib/config/env.ts b/backend/src/lib/config/env.ts index a5ffb1db9..41ae2c788 100644 --- a/backend/src/lib/config/env.ts +++ b/backend/src/lib/config/env.ts @@ -120,6 +120,7 @@ const envSchema = z .optional(), INFISICAL_CLOUD: zodStrBool.default("false"), MAINTENANCE_MODE: zodStrBool.default("false"), + OTEL_TELEMETRY_COLLECTION_ENABLED: zodStrBool.default("false"), OTEL_COLLECTOR_OTLP_URL: zpStr(z.string().optional()) }) .transform((data) => ({ diff --git a/backend/src/main.ts b/backend/src/main.ts index 4a1ca74a6..3513e3170 100644 --- a/backend/src/main.ts +++ b/backend/src/main.ts @@ -15,7 +15,9 @@ const run = async () => { const logger = await initLogger(); const appCfg = initEnvConfig(logger); - await initTelemetry({ otlpURL: appCfg.OTEL_COLLECTOR_OTLP_URL }); + if (appCfg.OTEL_TELEMETRY_COLLECTION_ENABLED) { + await initTelemetry({ otlpURL: appCfg.OTEL_COLLECTOR_OTLP_URL }); + } const db = initDbConnection({ dbConnectionUri: appCfg.DB_CONNECTION_URI, diff --git a/backend/src/server/app.ts b/backend/src/server/app.ts index 635752c65..4e41826ea 100644 --- a/backend/src/server/app.ts +++ b/backend/src/server/app.ts @@ -63,7 +63,11 @@ export const main = async ({ db, smtp, logger, queue, keyStore }: TMain) => { }); // pull ip based on various proxy headers await server.register(fastifyIp); - await server.register(apiMetrics); + + if (appCfg.OTEL_TELEMETRY_COLLECTION_ENABLED) { + await server.register(apiMetrics); + } + await server.register(fastifySwagger); await server.register(fastifyFormBody); await server.register(fastifyErrHandler);