From c7724bdfc73f6b0a25b6b0247faf7487ef072347 Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Wed, 27 Jul 2022 14:56:27 +0200 Subject: [PATCH 1/3] ref(tracing): Switch to JSON format when serializing the sample_rate for DSC --- packages/tracing/src/transaction.ts | 5 +---- packages/tracing/test/span.test.ts | 24 ------------------------ 2 files changed, 1 insertion(+), 28 deletions(-) diff --git a/packages/tracing/src/transaction.ts b/packages/tracing/src/transaction.ts index 460e202b059c..6e683eddc286 100644 --- a/packages/tracing/src/transaction.ts +++ b/packages/tracing/src/transaction.ts @@ -246,10 +246,7 @@ export class Transaction extends SpanClass implements TransactionInterface { const { publicKey: public_key } = client.getDsn() || {}; const rate = this.metadata && this.metadata.transactionSampling && this.metadata.transactionSampling.rate; - const sample_rate = - rate !== undefined - ? rate.toLocaleString('fullwide', { useGrouping: false, maximumFractionDigits: 16 }) - : undefined; + const sample_rate = rate !== undefined ? JSON.stringify(rate) : undefined; const scope = hub.getScope(); const { segment: user_segment } = (scope && scope.getUser()) || {}; diff --git a/packages/tracing/test/span.test.ts b/packages/tracing/test/span.test.ts index 16a1a03749d7..7bb53faca235 100644 --- a/packages/tracing/test/span.test.ts +++ b/packages/tracing/test/span.test.ts @@ -449,30 +449,6 @@ describe('Span', () => { expect(baggage && getThirdPartyBaggage(baggage)).toStrictEqual(''); }); - test('exponential sample rate notation is converted to decimal notation', () => { - const transaction = new Transaction( - { - name: 'tx', - metadata: { - transactionSampling: { rate: 1.45e-14, method: 'client_rate' }, - }, - }, - hub, - ); - - const baggage = transaction.getBaggage(); - - expect(baggage && isSentryBaggageEmpty(baggage)).toBe(false); - expect(baggage && getSentryBaggageItems(baggage)).toStrictEqual({ - release: '1.0.1', - environment: 'production', - // transaction: 'tx', - sample_rate: '0.0000000000000145', - trace_id: expect.any(String), - }); - expect(baggage && getThirdPartyBaggage(baggage)).toStrictEqual(''); - }); - describe('Including transaction name in DSC', () => { test.each([ ['is not included if transaction source is not set', undefined], From 01bb38434e29041164f9e8005bfe0709e9ba487b Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Thu, 28 Jul 2022 08:33:43 +0200 Subject: [PATCH 2/3] simplify sample_rate serialization even more --- packages/tracing/src/transaction.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/tracing/src/transaction.ts b/packages/tracing/src/transaction.ts index 6e683eddc286..07ab1757ecba 100644 --- a/packages/tracing/src/transaction.ts +++ b/packages/tracing/src/transaction.ts @@ -245,8 +245,7 @@ export class Transaction extends SpanClass implements TransactionInterface { const { environment, release } = client.getOptions() || {}; const { publicKey: public_key } = client.getDsn() || {}; - const rate = this.metadata && this.metadata.transactionSampling && this.metadata.transactionSampling.rate; - const sample_rate = rate !== undefined ? JSON.stringify(rate) : undefined; + const sample_rate = this.metadata && this.metadata.transactionSampling && this.metadata.transactionSampling.rate; const scope = hub.getScope(); const { segment: user_segment } = (scope && scope.getUser()) || {}; From dd66615ee0e2e0a477b44b84c70a2249d95f1100 Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Thu, 28 Jul 2022 09:54:32 +0200 Subject: [PATCH 3/3] toString --- packages/tracing/src/transaction.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/tracing/src/transaction.ts b/packages/tracing/src/transaction.ts index 07ab1757ecba..2b509763743d 100644 --- a/packages/tracing/src/transaction.ts +++ b/packages/tracing/src/transaction.ts @@ -245,7 +245,11 @@ export class Transaction extends SpanClass implements TransactionInterface { const { environment, release } = client.getOptions() || {}; const { publicKey: public_key } = client.getDsn() || {}; - const sample_rate = this.metadata && this.metadata.transactionSampling && this.metadata.transactionSampling.rate; + const sample_rate = + this.metadata && + this.metadata.transactionSampling && + this.metadata.transactionSampling.rate && + this.metadata.transactionSampling.rate.toString(); const scope = hub.getScope(); const { segment: user_segment } = (scope && scope.getUser()) || {};