Skip to content

Commit d06e290

Browse files
authored
feat: Export spanToBaggageHeader utility (#11881)
So we have a proper usage path without installing utils & core...
1 parent d2b7df4 commit d06e290

File tree

12 files changed

+21
-1
lines changed

12 files changed

+21
-1
lines changed

MIGRATION.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1721,7 +1721,7 @@ In v8, the Span class is heavily reworked. The following properties & methods ar
17211721
- `span.traceId`: Use `span.spanContext().traceId` instead.
17221722
- `span.name`: Use `spanToJSON(span).description` instead.
17231723
- `span.description`: Use `spanToJSON(span).description` instead.
1724-
- `span.getDynamicSamplingContext`: Use `getDynamicSamplingContextFromSpan` utility function instead.
1724+
- `span.getDynamicSamplingContext`: Use `spanToBaggageHeader(span)` utility function instead.
17251725
- `span.tags`: Set tags on the surrounding scope instead, or use attributes.
17261726
- `span.data`: Use `spanToJSON(span).data` instead.
17271727
- `span.setTag()`: Use `span.setAttribute()` instead or set tags on the surrounding scope.

packages/aws-serverless/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ export {
9797
initOpenTelemetry,
9898
spanToJSON,
9999
spanToTraceHeader,
100+
spanToBaggageHeader,
100101
trpcMiddleware,
101102
addOpenTelemetryInstrumentation,
102103
zodErrorsIntegration,

packages/browser/src/exports.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ export {
5757
endSession,
5858
spanToJSON,
5959
spanToTraceHeader,
60+
spanToBaggageHeader,
6061
} from '@sentry/core';
6162

6263
export {

packages/bun/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ export {
118118
initOpenTelemetry,
119119
spanToJSON,
120120
spanToTraceHeader,
121+
spanToBaggageHeader,
121122
trpcMiddleware,
122123
addOpenTelemetryInstrumentation,
123124
zodErrorsIntegration,

packages/core/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ export { handleCallbackErrors } from './utils/handleCallbackErrors';
6767
export { parameterize } from './utils/parameterize';
6868
export {
6969
spanToTraceHeader,
70+
spanToBaggageHeader,
7071
spanToJSON,
7172
spanIsSampled,
7273
spanToTraceContext,

packages/core/src/utils/spanUtils.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import type {
1212
import {
1313
addNonEnumerableProperty,
1414
dropUndefinedKeys,
15+
dynamicSamplingContextToSentryBaggageHeader,
1516
generateSentryTraceHeader,
1617
timestampInSeconds,
1718
} from '@sentry/utils';
@@ -21,6 +22,7 @@ import { getCurrentScope } from '../currentScopes';
2122
import { getMetricSummaryJsonForSpan, updateMetricSummaryOnSpan } from '../metrics/metric-summary';
2223
import type { MetricType } from '../metrics/types';
2324
import { SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '../semanticAttributes';
25+
import { getDynamicSamplingContextFromSpan } from '../tracing';
2426
import type { SentrySpan } from '../tracing/sentrySpan';
2527
import { SPAN_STATUS_OK, SPAN_STATUS_UNSET } from '../tracing/spanstatus';
2628
import { _getSpanForScope } from './spanOnScope';
@@ -68,6 +70,14 @@ export function spanToTraceHeader(span: Span): string {
6870
return generateSentryTraceHeader(traceId, spanId, sampled);
6971
}
7072

73+
/**
74+
* Convert a Span to a baggage header.
75+
*/
76+
export function spanToBaggageHeader(span: Span): string | undefined {
77+
const dsc = getDynamicSamplingContextFromSpan(span);
78+
return dynamicSamplingContextToSentryBaggageHeader(dsc);
79+
}
80+
7181
/**
7282
* Convert a span time input intp a timestamp in seconds.
7383
*/

packages/deno/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ export {
7878
endSession,
7979
spanToJSON,
8080
spanToTraceHeader,
81+
spanToBaggageHeader,
8182
} from '@sentry/core';
8283

8384
export { DenoClient } from './client';

packages/google-cloud-serverless/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ export {
9797
initOpenTelemetry,
9898
spanToJSON,
9999
spanToTraceHeader,
100+
spanToBaggageHeader,
100101
trpcMiddleware,
101102
addOpenTelemetryInstrumentation,
102103
zodErrorsIntegration,

packages/node/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ export {
110110
getRootSpan,
111111
spanToJSON,
112112
spanToTraceHeader,
113+
spanToBaggageHeader,
113114
trpcMiddleware,
114115
zodErrorsIntegration,
115116
} from '@sentry/core';

packages/remix/src/index.server.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ export {
9999
trpcMiddleware,
100100
spanToJSON,
101101
spanToTraceHeader,
102+
spanToBaggageHeader,
102103
addOpenTelemetryInstrumentation,
103104
} from '@sentry/node';
104105

packages/sveltekit/src/server/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ export {
7272
trpcMiddleware,
7373
spanToJSON,
7474
spanToTraceHeader,
75+
spanToBaggageHeader,
7576
addOpenTelemetryInstrumentation,
7677
} from '@sentry/node';
7778

packages/vercel-edge/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ export {
7373
trpcMiddleware,
7474
spanToJSON,
7575
spanToTraceHeader,
76+
spanToBaggageHeader,
7677
} from '@sentry/core';
7778

7879
export { VercelEdgeClient } from './client';

0 commit comments

Comments
 (0)