From 3ce023a3495445857d784b7a36779b5502f5685a Mon Sep 17 00:00:00 2001 From: miklosbarabas Date: Tue, 30 Sep 2025 13:48:32 +0200 Subject: [PATCH 1/2] fix: Sentry profile lifecycle switch for controlplane --- controlplane/.env.example | 1 + controlplane/src/core/env.schema.ts | 1 + controlplane/src/core/sentry.config.ts | 2 ++ controlplane/src/index.ts | 2 ++ 4 files changed, 6 insertions(+) diff --git a/controlplane/.env.example b/controlplane/.env.example index d8a3279427..1746aea18d 100644 --- a/controlplane/.env.example +++ b/controlplane/.env.example @@ -82,4 +82,5 @@ SENTRY_DSN="" SENTRY_SEND_DEFAULT_PII="false" SENTRY_TRACES_SAMPLE_RATE="1.0" SENTRY_PROFILE_SESSION_SAMPLE_RATE="1.0" +SENTRY_PROFILE_LIFECYCLE="manual" SENTRY_EVENT_LOOP_BLOCK_THRESHOLD_MS="100" diff --git a/controlplane/src/core/env.schema.ts b/controlplane/src/core/env.schema.ts index 812b8836f2..4e74cb75dd 100644 --- a/controlplane/src/core/env.schema.ts +++ b/controlplane/src/core/env.schema.ts @@ -203,6 +203,7 @@ export const envVariables = z .default('false'), SENTRY_TRACES_SAMPLE_RATE: z.coerce.number().optional().default(1), SENTRY_PROFILE_SESSION_SAMPLE_RATE: z.coerce.number().optional().default(1), + SENTRY_PROFILE_LIFECYCLE: z.enum(["manual", "trace"]).optional().default("manual"), SENTRY_EVENT_LOOP_BLOCK_THRESHOLD_MS: z.coerce.number().optional().default(100), }) .refine((input) => { diff --git a/controlplane/src/core/sentry.config.ts b/controlplane/src/core/sentry.config.ts index 8d8c61128e..a24cecce5e 100644 --- a/controlplane/src/core/sentry.config.ts +++ b/controlplane/src/core/sentry.config.ts @@ -10,6 +10,7 @@ export interface SentryConfig { dsn: string; eventLoopBlockIntegrationThresholdMs?: number; profileSessionSampleRate?: number; + profileLifecycle?: 'manual' | 'trace'; sendDefaultPii?: boolean; tracesSampleRate?: number; }; @@ -26,6 +27,7 @@ export function init(opts: SentryConfig) { profileSessionSampleRate: opts.sentry.profileSessionSampleRate, sendDefaultPii: opts.sentry.sendDefaultPii, tracesSampleRate: opts.sentry.tracesSampleRate, + profileLifecycle: opts.sentry.profileLifecycle }); } } diff --git a/controlplane/src/index.ts b/controlplane/src/index.ts index a0ec5198e3..46031ce874 100644 --- a/controlplane/src/index.ts +++ b/controlplane/src/index.ts @@ -73,6 +73,7 @@ const { SENTRY_SEND_DEFAULT_PII, SENTRY_TRACES_SAMPLE_RATE, SENTRY_PROFILE_SESSION_SAMPLE_RATE, + SENTRY_PROFILE_LIFECYCLE, SENTRY_EVENT_LOOP_BLOCK_THRESHOLD_MS, } = envVariables.parse(process.env); @@ -187,6 +188,7 @@ if (SENTRY_ENABLED) { dsn: SENTRY_DSN, eventLoopBlockIntegrationThresholdMs: SENTRY_EVENT_LOOP_BLOCK_THRESHOLD_MS, profileSessionSampleRate: SENTRY_PROFILE_SESSION_SAMPLE_RATE, + profileLifecycle: SENTRY_PROFILE_LIFECYCLE, sendDefaultPii: SENTRY_SEND_DEFAULT_PII, tracesSampleRate: SENTRY_TRACES_SAMPLE_RATE, }, From 69b379f4cbcc74da051fda5815f3358b2e744c6a Mon Sep 17 00:00:00 2001 From: miklosbarabas Date: Tue, 30 Sep 2025 13:56:22 +0200 Subject: [PATCH 2/2] fix: sentry profile lifecycle switch for controlplane --- controlplane/src/core/env.schema.ts | 2 +- controlplane/src/core/sentry.config.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/controlplane/src/core/env.schema.ts b/controlplane/src/core/env.schema.ts index 4e74cb75dd..e546575492 100644 --- a/controlplane/src/core/env.schema.ts +++ b/controlplane/src/core/env.schema.ts @@ -203,7 +203,7 @@ export const envVariables = z .default('false'), SENTRY_TRACES_SAMPLE_RATE: z.coerce.number().optional().default(1), SENTRY_PROFILE_SESSION_SAMPLE_RATE: z.coerce.number().optional().default(1), - SENTRY_PROFILE_LIFECYCLE: z.enum(["manual", "trace"]).optional().default("manual"), + SENTRY_PROFILE_LIFECYCLE: z.enum(['manual', 'trace']).optional().default('manual'), SENTRY_EVENT_LOOP_BLOCK_THRESHOLD_MS: z.coerce.number().optional().default(100), }) .refine((input) => { diff --git a/controlplane/src/core/sentry.config.ts b/controlplane/src/core/sentry.config.ts index a24cecce5e..28b1bc8aa7 100644 --- a/controlplane/src/core/sentry.config.ts +++ b/controlplane/src/core/sentry.config.ts @@ -27,7 +27,7 @@ export function init(opts: SentryConfig) { profileSessionSampleRate: opts.sentry.profileSessionSampleRate, sendDefaultPii: opts.sentry.sendDefaultPii, tracesSampleRate: opts.sentry.tracesSampleRate, - profileLifecycle: opts.sentry.profileLifecycle + profileLifecycle: opts.sentry.profileLifecycle, }); } }