diff --git a/packages/core/src/tracing/sampling.ts b/packages/core/src/tracing/sampling.ts index eb19643164aa..70c62cd20992 100644 --- a/packages/core/src/tracing/sampling.ts +++ b/packages/core/src/tracing/sampling.ts @@ -41,7 +41,12 @@ export function sampleSpan( const parsedSampleRate = parseSampleRate(sampleRate); if (parsedSampleRate === undefined) { - DEBUG_BUILD && logger.warn('[Tracing] Discarding transaction because of invalid sample rate.'); + DEBUG_BUILD && + logger.warn( + `[Tracing] Discarding root span because of invalid sample rate. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify( + sampleRate, + )} of type ${JSON.stringify(typeof sampleRate)}.`, + ); return [false]; } diff --git a/packages/core/src/utils/hasTracingEnabled.ts b/packages/core/src/utils/hasTracingEnabled.ts index f00bf10ff367..a125c7a0cc9e 100644 --- a/packages/core/src/utils/hasTracingEnabled.ts +++ b/packages/core/src/utils/hasTracingEnabled.ts @@ -20,7 +20,7 @@ export function hasTracingEnabled( const options = maybeOptions || client?.getOptions(); return ( !!options && - // Note: This check is `!= null`, meaning "nullish" + // Note: This check is `!= null`, meaning "nullish". `0` is not "nullish", `undefined` and `null` are. (This comment was brought to you by 15 minutes of questioning life) (options.tracesSampleRate != null || !!options.tracesSampler) ); } diff --git a/packages/core/src/utils/parseSampleRate.ts b/packages/core/src/utils/parseSampleRate.ts index 3e297025b52e..acd22509e568 100644 --- a/packages/core/src/utils/parseSampleRate.ts +++ b/packages/core/src/utils/parseSampleRate.ts @@ -1,6 +1,3 @@ -import { DEBUG_BUILD } from '../debug-build'; -import { logger } from '../utils-hoist/logger'; - /** * Parse a sample rate from a given value. * This will either return a boolean or number sample rate, if the sample rate is valid (between 0 and 1). @@ -15,12 +12,6 @@ export function parseSampleRate(sampleRate: unknown): number | undefined { const rate = typeof sampleRate === 'string' ? parseFloat(sampleRate) : sampleRate; if (typeof rate !== 'number' || isNaN(rate) || rate < 0 || rate > 1) { - DEBUG_BUILD && - logger.warn( - `[Tracing] Given sample rate is invalid. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify( - sampleRate, - )} of type ${JSON.stringify(typeof sampleRate)}.`, - ); return undefined; }