From a746f1a1330398883c8f01aed93be32a1cf80e4a Mon Sep 17 00:00:00 2001 From: Jack Englund Date: Tue, 1 Feb 2022 14:12:50 -0600 Subject: [PATCH 1/4] Fix types for name in /tracing/transactions.ts --- packages/tracing/src/transaction.ts | 6 +++--- packages/types/src/event.ts | 4 ++-- packages/types/src/transaction.ts | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/tracing/src/transaction.ts b/packages/tracing/src/transaction.ts index bd15e1f6b8e3..8718fad09703 100644 --- a/packages/tracing/src/transaction.ts +++ b/packages/tracing/src/transaction.ts @@ -12,7 +12,7 @@ import { Span as SpanClass, SpanRecorder } from './span'; /** JSDoc */ export class Transaction extends SpanClass implements TransactionInterface { - public name: string; + public name: string | Symbol; public metadata: TransactionMetadata; @@ -51,7 +51,7 @@ export class Transaction extends SpanClass implements TransactionInterface { /** * JSDoc */ - public setName(name: string): void { + public setName(name: string | Symbol): void { this.name = name; } @@ -142,7 +142,7 @@ export class Transaction extends SpanClass implements TransactionInterface { transaction.measurements = this._measurements; } - logger.log(`[Tracing] Finishing ${this.op} transaction: ${this.name}.`); + logger.log(`[Tracing] Finishing ${this.op} transaction: ${this.name.toString()}.`); return this._hub.captureEvent(transaction); } diff --git a/packages/types/src/event.ts b/packages/types/src/event.ts index 0aa146f43848..65374faa943d 100644 --- a/packages/types/src/event.ts +++ b/packages/types/src/event.ts @@ -28,7 +28,7 @@ export interface Event { environment?: string; sdk?: SdkInfo; request?: Request; - transaction?: string; + transaction?: string | Symbol; modules?: { [key: string]: string }; fingerprint?: string[]; exception?: { @@ -37,7 +37,7 @@ export interface Event { stacktrace?: Stacktrace; breadcrumbs?: Breadcrumb[]; contexts?: Contexts; - tags?: { [key: string]: Primitive }; + tags?: { [key: string]: Primitive | Symbol }; extra?: Extras; user?: User; type?: EventType; diff --git a/packages/types/src/transaction.ts b/packages/types/src/transaction.ts index 585eb66dd8dd..c02fb5c731c4 100644 --- a/packages/types/src/transaction.ts +++ b/packages/types/src/transaction.ts @@ -8,7 +8,7 @@ export interface TransactionContext extends SpanContext { /** * Human-readable identifier for the transaction */ - name: string; + name: string | Symbol; /** * If true, sets the end timestamp of the transaction to the highest timestamp of child spans, trimming @@ -56,7 +56,7 @@ export interface Transaction extends TransactionContext, Span { /** * @inheritDoc */ - tags: { [key: string]: Primitive }; + tags: { [key: string]: Primitive | Symbol }; /** * @inheritDoc @@ -71,7 +71,7 @@ export interface Transaction extends TransactionContext, Span { /** * Set the name of the transaction */ - setName(name: string): void; + setName(name: string | Symbol): void; /** Returns the current transaction properties as a `TransactionContext` */ toContext(): TransactionContext; From aabf7a76da29b3b7c80f019c28a9bf9e551cb5a2 Mon Sep 17 00:00:00 2001 From: Jack Englund Date: Tue, 1 Feb 2022 14:12:50 -0600 Subject: [PATCH 2/4] Revert "Fix types for name in /tracing/transactions.ts" This reverts commit a746f1a1330398883c8f01aed93be32a1cf80e4a. --- packages/tracing/src/transaction.ts | 6 +++--- packages/types/src/event.ts | 4 ++-- packages/types/src/transaction.ts | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/tracing/src/transaction.ts b/packages/tracing/src/transaction.ts index 8718fad09703..bd15e1f6b8e3 100644 --- a/packages/tracing/src/transaction.ts +++ b/packages/tracing/src/transaction.ts @@ -12,7 +12,7 @@ import { Span as SpanClass, SpanRecorder } from './span'; /** JSDoc */ export class Transaction extends SpanClass implements TransactionInterface { - public name: string | Symbol; + public name: string; public metadata: TransactionMetadata; @@ -51,7 +51,7 @@ export class Transaction extends SpanClass implements TransactionInterface { /** * JSDoc */ - public setName(name: string | Symbol): void { + public setName(name: string): void { this.name = name; } @@ -142,7 +142,7 @@ export class Transaction extends SpanClass implements TransactionInterface { transaction.measurements = this._measurements; } - logger.log(`[Tracing] Finishing ${this.op} transaction: ${this.name.toString()}.`); + logger.log(`[Tracing] Finishing ${this.op} transaction: ${this.name}.`); return this._hub.captureEvent(transaction); } diff --git a/packages/types/src/event.ts b/packages/types/src/event.ts index 65374faa943d..0aa146f43848 100644 --- a/packages/types/src/event.ts +++ b/packages/types/src/event.ts @@ -28,7 +28,7 @@ export interface Event { environment?: string; sdk?: SdkInfo; request?: Request; - transaction?: string | Symbol; + transaction?: string; modules?: { [key: string]: string }; fingerprint?: string[]; exception?: { @@ -37,7 +37,7 @@ export interface Event { stacktrace?: Stacktrace; breadcrumbs?: Breadcrumb[]; contexts?: Contexts; - tags?: { [key: string]: Primitive | Symbol }; + tags?: { [key: string]: Primitive }; extra?: Extras; user?: User; type?: EventType; diff --git a/packages/types/src/transaction.ts b/packages/types/src/transaction.ts index c02fb5c731c4..585eb66dd8dd 100644 --- a/packages/types/src/transaction.ts +++ b/packages/types/src/transaction.ts @@ -8,7 +8,7 @@ export interface TransactionContext extends SpanContext { /** * Human-readable identifier for the transaction */ - name: string | Symbol; + name: string; /** * If true, sets the end timestamp of the transaction to the highest timestamp of child spans, trimming @@ -56,7 +56,7 @@ export interface Transaction extends TransactionContext, Span { /** * @inheritDoc */ - tags: { [key: string]: Primitive | Symbol }; + tags: { [key: string]: Primitive }; /** * @inheritDoc @@ -71,7 +71,7 @@ export interface Transaction extends TransactionContext, Span { /** * Set the name of the transaction */ - setName(name: string | Symbol): void; + setName(name: string): void; /** Returns the current transaction properties as a `TransactionContext` */ toContext(): TransactionContext; From 9891bb813bb60d5638ebb6551bc65d672505ac67 Mon Sep 17 00:00:00 2001 From: Jack Englund Date: Tue, 1 Feb 2022 16:20:49 -0600 Subject: [PATCH 3/4] Call toString on vue-router.to.name usages --- .../ember/addon/instance-initializers/sentry-performance.ts | 4 ++-- packages/vue/src/router.ts | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/ember/addon/instance-initializers/sentry-performance.ts b/packages/ember/addon/instance-initializers/sentry-performance.ts index c77e9a80738e..ef77109d4c33 100644 --- a/packages/ember/addon/instance-initializers/sentry-performance.ts +++ b/packages/ember/addon/instance-initializers/sentry-performance.ts @@ -37,7 +37,7 @@ function getBackburner() { function getTransitionInformation(transition: any, router: any) { const fromRoute = transition?.from?.name; - const toRoute = transition && transition.to ? transition.to.name : router.currentRouteName; + const toRoute = transition && transition.to ? transition.to.name.toString() : router.currentRouteName; return { fromRoute, toRoute, @@ -88,7 +88,7 @@ export function _instrumentEmberRouter( }); } - const finishActiveTransaction = function(_: any, nextInstance: any) { + const finishActiveTransaction = function (_: any, nextInstance: any) { if (nextInstance) { return; } diff --git a/packages/vue/src/router.ts b/packages/vue/src/router.ts index 68be9841ffc1..a6cb76685c69 100644 --- a/packages/vue/src/router.ts +++ b/packages/vue/src/router.ts @@ -53,7 +53,8 @@ export function vueRouterInstrumentation(router: VueRouter): VueRouterInstrument if (startTransactionOnPageLoad && isPageLoadNavigation) { startTransaction({ - name: to.name || to.path, + // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access + name: to.name.toString() || to.path, op: 'pageload', tags, data, @@ -63,7 +64,7 @@ export function vueRouterInstrumentation(router: VueRouter): VueRouterInstrument if (startTransactionOnLocationChange && !isPageLoadNavigation) { startTransaction({ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access - name: to.name || (to.matched[0] && to.matched[0].path) || to.path, + name: to.name.toString() || (to.matched[0] && to.matched[0].path) || to.path, op: 'navigation', tags, data, From 66101df0b2133e9a29886a9d8c915fc2590c7d1e Mon Sep 17 00:00:00 2001 From: Jack Englund Date: Wed, 2 Feb 2022 09:34:30 -0600 Subject: [PATCH 4/4] Revert changes to ember --- .../ember/addon/instance-initializers/sentry-performance.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ember/addon/instance-initializers/sentry-performance.ts b/packages/ember/addon/instance-initializers/sentry-performance.ts index ef77109d4c33..a750bb404153 100644 --- a/packages/ember/addon/instance-initializers/sentry-performance.ts +++ b/packages/ember/addon/instance-initializers/sentry-performance.ts @@ -37,7 +37,7 @@ function getBackburner() { function getTransitionInformation(transition: any, router: any) { const fromRoute = transition?.from?.name; - const toRoute = transition && transition.to ? transition.to.name.toString() : router.currentRouteName; + const toRoute = transition && transition.to ? transition.to.name : router.currentRouteName; return { fromRoute, toRoute,