Skip to content

Commit 265ad84

Browse files
committed
feat(core): Send baggage in envelope header
WIP, currently a very simple and unsustainable solution that doesn't take immutability or additional data into account
1 parent 644a00b commit 265ad84

File tree

4 files changed

+7
-3
lines changed

4 files changed

+7
-3
lines changed

packages/core/src/baseclient.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -618,7 +618,7 @@ export abstract class BaseClient<O extends ClientOptions> implements Client<O> {
618618
throw new SentryError('`beforeSend` returned `null`, will not send event.');
619619
}
620620

621-
const session = scope && scope.getSession && scope.getSession();
621+
const session = scope && scope.getSession();
622622
if (!isTransaction && session) {
623623
this._updateSessionFromEvent(session, processedEvent);
624624
}

packages/core/src/envelope.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010
SessionEnvelope,
1111
SessionItem,
1212
} from '@sentry/types';
13-
import { createEnvelope, dsnToString } from '@sentry/utils';
13+
import { createBaggage, createEnvelope, dsnToString, serializeBaggage } from '@sentry/utils';
1414

1515
/** Extract sdk info from from the API metadata */
1616
function getSdkMetadataForEnvelopeHeader(metadata?: SdkMetadata): SdkInfo | undefined {
@@ -101,9 +101,12 @@ export function createEventEnvelope(
101101
// TODO: This is NOT part of the hack - DO NOT DELETE
102102
delete event.sdkProcessingMetadata;
103103

104+
const baggage = createBaggage({ environment: event.environment, release: event.release });
105+
104106
const envelopeHeaders = {
105107
event_id: event.event_id as string,
106108
sent_at: new Date().toISOString(),
109+
baggage: serializeBaggage(baggage),
107110
...(sdkInfo && { sdk: sdkInfo }),
108111
...(!!tunnel && { dsn: dsnToString(dsn) }),
109112
};

packages/types/src/envelope.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ export type SessionItem =
5656
| BaseEnvelopeItem<SessionAggregatesItemHeaders, SessionAggregates>;
5757
export type ClientReportItem = BaseEnvelopeItem<ClientReportItemHeaders, ClientReport>;
5858

59-
type EventEnvelopeHeaders = { event_id: string; sent_at: string };
59+
type EventEnvelopeHeaders = { event_id: string; sent_at: string; baggage?: string };
6060
type SessionEnvelopeHeaders = { sent_at: string };
6161
type ClientReportEnvelopeHeaders = BaseEnvelopeHeaders;
6262

packages/utils/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,4 @@ export * from './env';
2323
export * from './envelope';
2424
export * from './clientreport';
2525
export * from './ratelimit';
26+
export * from './baggage';

0 commit comments

Comments
 (0)