From a68bf3245232b1b2faacaf2ac0e4ffe6437d4c9f Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Wed, 6 Sep 2023 15:33:33 +0200 Subject: [PATCH 1/2] ref(core): Introduce `getBreadcrumbs()` on scope to abstract this away Making it easier to potentially change this e.g. for POTEL. --- packages/core/src/scope.ts | 12 ++++++++++-- packages/types/src/scope.ts | 5 +++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/packages/core/src/scope.ts b/packages/core/src/scope.ts index b2342169a510..202122531ae8 100644 --- a/packages/core/src/scope.ts +++ b/packages/core/src/scope.ts @@ -325,6 +325,13 @@ export class Scope implements ScopeInterface { return this._session; } + /** + * @inheritDoc + */ + public getBreadcrumbs(): Breadcrumb[] { + return this._breadcrumbs; + } + /** * @inheritDoc */ @@ -515,8 +522,9 @@ export class Scope implements ScopeInterface { this._applyFingerprint(event); - event.breadcrumbs = [...(event.breadcrumbs || []), ...this._breadcrumbs]; - event.breadcrumbs = event.breadcrumbs.length > 0 ? event.breadcrumbs : undefined; + const scopeBreadcrumbs = this.getBreadcrumbs(); + const breadcrumbs = [...(event.breadcrumbs || []), ...scopeBreadcrumbs]; + event.breadcrumbs = breadcrumbs.length > 0 ? breadcrumbs : undefined; event.sdkProcessingMetadata = { ...event.sdkProcessingMetadata, diff --git a/packages/types/src/scope.ts b/packages/types/src/scope.ts index 4a315aa7adda..0062056ff83f 100644 --- a/packages/types/src/scope.ts +++ b/packages/types/src/scope.ts @@ -128,6 +128,11 @@ export interface Scope { */ setSession(session?: Session): this; + /** + * Get all breadcrumbs for this scope. + */ + getBreadcrumbs(): Breadcrumb[]; + /** * Returns the `RequestSession` if there is one */ From ca43015c2e8d9d0e1940386926b7eb191ae39f49 Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Thu, 7 Sep 2023 11:37:38 +0200 Subject: [PATCH 2/2] Make protected API --- packages/core/src/scope.ts | 16 ++++++++-------- packages/types/src/scope.ts | 5 ----- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/packages/core/src/scope.ts b/packages/core/src/scope.ts index 202122531ae8..ef6832bc773d 100644 --- a/packages/core/src/scope.ts +++ b/packages/core/src/scope.ts @@ -325,13 +325,6 @@ export class Scope implements ScopeInterface { return this._session; } - /** - * @inheritDoc - */ - public getBreadcrumbs(): Breadcrumb[] { - return this._breadcrumbs; - } - /** * @inheritDoc */ @@ -522,7 +515,7 @@ export class Scope implements ScopeInterface { this._applyFingerprint(event); - const scopeBreadcrumbs = this.getBreadcrumbs(); + const scopeBreadcrumbs = this._getBreadcrumbs(); const breadcrumbs = [...(event.breadcrumbs || []), ...scopeBreadcrumbs]; event.breadcrumbs = breadcrumbs.length > 0 ? breadcrumbs : undefined; @@ -559,6 +552,13 @@ export class Scope implements ScopeInterface { return this._propagationContext; } + /** + * Get the breadcrumbs for this scope. + */ + protected _getBreadcrumbs(): Breadcrumb[] { + return this._breadcrumbs; + } + /** * This will be called after {@link applyToEvent} is finished. */ diff --git a/packages/types/src/scope.ts b/packages/types/src/scope.ts index 0062056ff83f..4a315aa7adda 100644 --- a/packages/types/src/scope.ts +++ b/packages/types/src/scope.ts @@ -128,11 +128,6 @@ export interface Scope { */ setSession(session?: Session): this; - /** - * Get all breadcrumbs for this scope. - */ - getBreadcrumbs(): Breadcrumb[]; - /** * Returns the `RequestSession` if there is one */