From c87c40f30c1bd70b3b90a925b2834e1c07f45c43 Mon Sep 17 00:00:00 2001 From: Outsider Date: Wed, 5 Oct 2022 02:01:15 +0900 Subject: [PATCH 1/5] fix(tracing): align span operations to new operations Signed-off-by: Outsider --- packages/tracing/src/browser/metrics/index.ts | 6 +++--- packages/tracing/src/integrations/node/apollo.ts | 2 +- packages/tracing/src/integrations/node/express.ts | 2 +- packages/tracing/src/integrations/node/graphql.ts | 2 +- packages/tracing/src/integrations/node/prisma.ts | 2 +- packages/tracing/test/browser/metrics/index.test.ts | 4 ++-- packages/tracing/test/integrations/apollo.test.ts | 4 ++-- packages/tracing/test/integrations/graphql.test.ts | 2 +- packages/tracing/test/integrations/node/prisma.test.ts | 2 +- 9 files changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/tracing/src/browser/metrics/index.ts b/packages/tracing/src/browser/metrics/index.ts index d77b05fed837..d2afa36b25b9 100644 --- a/packages/tracing/src/browser/metrics/index.ts +++ b/packages/tracing/src/browser/metrics/index.ts @@ -53,7 +53,7 @@ export function startTrackingLongTasks(): void { const duration = msToSec(entry.duration); transaction.startChild({ description: 'Main UI thread blocked', - op: 'ui.long-task', + op: 'ui.task', startTimestamp: startTime, endTimestamp: startTime + duration, }); @@ -221,7 +221,7 @@ export function addPerformanceEntries(transaction: Transaction): void { _startChild(transaction, { description: 'first input delay', endTimestamp: fidMark.value + msToSec(_measurements['fid'].value), - op: 'web.vitals', + op: 'ui.action', startTimestamp: fidMark.value, }); @@ -366,7 +366,7 @@ export function _addResourceSpans( _startChild(transaction, { description: resourceName, endTimestamp, - op: entry.initiatorType ? `resource.${entry.initiatorType}` : 'resource', + op: entry.initiatorType ? `resource.${entry.initiatorType}` : 'resource.other', startTimestamp, data, }); diff --git a/packages/tracing/src/integrations/node/apollo.ts b/packages/tracing/src/integrations/node/apollo.ts index 5046a1445d44..d1449a91fe1b 100644 --- a/packages/tracing/src/integrations/node/apollo.ts +++ b/packages/tracing/src/integrations/node/apollo.ts @@ -99,7 +99,7 @@ function wrapResolver( const parentSpan = scope?.getSpan(); const span = parentSpan?.startChild({ description: `${resolverGroupName}.${resolverName}`, - op: 'db.graphql.apollo', + op: 'graphql.resolve', }); const rv = orig.call(this, ...args); diff --git a/packages/tracing/src/integrations/node/express.ts b/packages/tracing/src/integrations/node/express.ts index 4633cf3f78f1..371661982234 100644 --- a/packages/tracing/src/integrations/node/express.ts +++ b/packages/tracing/src/integrations/node/express.ts @@ -140,7 +140,7 @@ function wrap(fn: Function, method: Method): (...args: any[]) => void { if (transaction) { const span = transaction.startChild({ description: fn.name, - op: `express.middleware.${method}`, + op: `middleware.express.${method}`, }); res.once('finish', () => { span.finish(); diff --git a/packages/tracing/src/integrations/node/graphql.ts b/packages/tracing/src/integrations/node/graphql.ts index 099c4f84120d..b8736cf995f9 100644 --- a/packages/tracing/src/integrations/node/graphql.ts +++ b/packages/tracing/src/integrations/node/graphql.ts @@ -34,7 +34,7 @@ export class GraphQL implements Integration { const span = parentSpan?.startChild({ description: 'execute', - op: 'db.graphql', + op: 'graphql.execute', }); scope?.setSpan(span); diff --git a/packages/tracing/src/integrations/node/prisma.ts b/packages/tracing/src/integrations/node/prisma.ts index 963c14206e9e..a1c9f553964b 100644 --- a/packages/tracing/src/integrations/node/prisma.ts +++ b/packages/tracing/src/integrations/node/prisma.ts @@ -89,7 +89,7 @@ export class Prisma implements Integration { const span = parentSpan?.startChild({ description: model ? `${model} ${action}` : action, - op: 'db.prisma', + op: 'db.sql.prisma', }); const rv = next(params); diff --git a/packages/tracing/test/browser/metrics/index.test.ts b/packages/tracing/test/browser/metrics/index.test.ts index b47ebd92a8f3..2bda341e3b29 100644 --- a/packages/tracing/test/browser/metrics/index.test.ts +++ b/packages/tracing/test/browser/metrics/index.test.ts @@ -101,11 +101,11 @@ describe('_addResourceSpans', () => { const table = [ { initiatorType: undefined, - op: 'resource', + op: 'resource.other', }, { initiatorType: '', - op: 'resource', + op: 'resource.other', }, { initiatorType: 'css', diff --git a/packages/tracing/test/integrations/apollo.test.ts b/packages/tracing/test/integrations/apollo.test.ts index 6b69754edf1d..c178a00b10cd 100644 --- a/packages/tracing/test/integrations/apollo.test.ts +++ b/packages/tracing/test/integrations/apollo.test.ts @@ -86,7 +86,7 @@ describe('setupOnce', () => { expect(scope.getSpan).toBeCalled(); expect(parentSpan.startChild).toBeCalledWith({ description: 'Query.res_1', - op: 'db.graphql.apollo', + op: 'graphql.resolve', }); expect(childSpan.finish).toBeCalled(); }); @@ -96,7 +96,7 @@ describe('setupOnce', () => { expect(scope.getSpan).toBeCalled(); expect(parentSpan.startChild).toBeCalledWith({ description: 'Mutation.res_2', - op: 'db.graphql.apollo', + op: 'graphql.resolve', }); expect(childSpan.finish).toBeCalled(); }); diff --git a/packages/tracing/test/integrations/graphql.test.ts b/packages/tracing/test/integrations/graphql.test.ts index 49db69479097..bf823899632d 100644 --- a/packages/tracing/test/integrations/graphql.test.ts +++ b/packages/tracing/test/integrations/graphql.test.ts @@ -48,7 +48,7 @@ describe('setupOnce', () => { expect(scope.getSpan).toBeCalled(); expect(parentSpan.startChild).toBeCalledWith({ description: 'execute', - op: 'db.graphql', + op: 'graphql.execute', }); expect(childSpan.finish).toBeCalled(); expect(scope.setSpan).toHaveBeenCalledTimes(2); diff --git a/packages/tracing/test/integrations/node/prisma.test.ts b/packages/tracing/test/integrations/node/prisma.test.ts index 501101dbce6f..0b795c2266b8 100644 --- a/packages/tracing/test/integrations/node/prisma.test.ts +++ b/packages/tracing/test/integrations/node/prisma.test.ts @@ -52,7 +52,7 @@ describe('setupOnce', function () { expect(scope.getSpan).toBeCalled(); expect(parentSpan.startChild).toBeCalledWith({ description: 'user create', - op: 'db.prisma', + op: 'db.sql.prisma', }); expect(childSpan.finish).toBeCalled(); done(); From a5d7b1b20628e8e6f9ba625abf71ba3e0ccd6976 Mon Sep 17 00:00:00 2001 From: Outsider Date: Thu, 6 Oct 2022 02:53:26 +0900 Subject: [PATCH 2/5] fix(tracing): fix failed integration tests Signed-off-by: Outsider --- .../suites/tracing/apollo-graphql/test.ts | 4 ++-- .../suites/tracing/prisma-orm/test.ts | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/node-integration-tests/suites/tracing/apollo-graphql/test.ts b/packages/node-integration-tests/suites/tracing/apollo-graphql/test.ts index d78afdcb38b5..128f8a2f164b 100644 --- a/packages/node-integration-tests/suites/tracing/apollo-graphql/test.ts +++ b/packages/node-integration-tests/suites/tracing/apollo-graphql/test.ts @@ -21,12 +21,12 @@ conditionalTest({ min: 12 })('GraphQL/Apollo Tests', () => { spans: [ { description: 'execute', - op: 'db.graphql', + op: 'graphql.execute', parent_span_id: parentSpanId, }, { description: 'Query.hello', - op: 'db.graphql.apollo', + op: 'graphql.resolve', parent_span_id: graphqlSpanId, }, ], diff --git a/packages/node-integration-tests/suites/tracing/prisma-orm/test.ts b/packages/node-integration-tests/suites/tracing/prisma-orm/test.ts index acb1ed87941c..e3393f5fe2f8 100644 --- a/packages/node-integration-tests/suites/tracing/prisma-orm/test.ts +++ b/packages/node-integration-tests/suites/tracing/prisma-orm/test.ts @@ -8,9 +8,9 @@ conditionalTest({ min: 12 })('Prisma ORM Integration', () => { assertSentryTransaction(envelope[2], { transaction: 'Test Transaction', spans: [ - { description: 'User create', op: 'db.prisma' }, - { description: 'User findMany', op: 'db.prisma' }, - { description: 'User deleteMany', op: 'db.prisma' }, + { description: 'User create', op: 'db.sql.prisma' }, + { description: 'User findMany', op: 'db.sql.prisma' }, + { description: 'User deleteMany', op: 'db.sql.prisma' }, ], }); }); From 40a4fcbecd834214d1557624b281ba533f89a8a9 Mon Sep 17 00:00:00 2001 From: Outsider Date: Thu, 6 Oct 2022 03:14:03 +0900 Subject: [PATCH 3/5] fix(tracing): fix failed integration tests Signed-off-by: Outsider --- .../suites/tracing/browsertracing/long-tasks-enabled/test.ts | 2 +- .../suites/tracing/metrics/web-vitals-fid/test.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/integration-tests/suites/tracing/browsertracing/long-tasks-enabled/test.ts b/packages/integration-tests/suites/tracing/browsertracing/long-tasks-enabled/test.ts index 7390d390224a..4b722b90ec6c 100644 --- a/packages/integration-tests/suites/tracing/browsertracing/long-tasks-enabled/test.ts +++ b/packages/integration-tests/suites/tracing/browsertracing/long-tasks-enabled/test.ts @@ -22,7 +22,7 @@ sentryTest('should capture long task.', async ({ browserName, getLocalTestPath, const [firstUISpan] = uiSpans || []; expect(firstUISpan).toEqual( expect.objectContaining({ - op: 'ui.long-task', + op: 'ui.task', description: 'Main UI thread blocked', parent_span_id: eventData.contexts?.trace.span_id, }), diff --git a/packages/integration-tests/suites/tracing/metrics/web-vitals-fid/test.ts b/packages/integration-tests/suites/tracing/metrics/web-vitals-fid/test.ts index de2d3d8395f9..ff3f125fcf10 100644 --- a/packages/integration-tests/suites/tracing/metrics/web-vitals-fid/test.ts +++ b/packages/integration-tests/suites/tracing/metrics/web-vitals-fid/test.ts @@ -24,6 +24,6 @@ sentryTest('should capture a FID vital.', async ({ browserName, getLocalTestPath const fidSpan = eventData.spans?.filter(({ description }) => description === 'first input delay')[0]; expect(fidSpan).toBeDefined(); - expect(fidSpan?.op).toBe('web.vitals'); + expect(fidSpan?.op).toBe('ui.action'); expect(fidSpan?.parentSpanId).toBe(eventData.contexts?.trace_span_id); }); From dc96ebd7c797053c3adfd577948ff596e40ede01 Mon Sep 17 00:00:00 2001 From: Abhijeet Prasad Date: Thu, 6 Oct 2022 10:46:59 +0200 Subject: [PATCH 4/5] Change back to long task --- .../suites/tracing/browsertracing/long-tasks-enabled/test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/integration-tests/suites/tracing/browsertracing/long-tasks-enabled/test.ts b/packages/integration-tests/suites/tracing/browsertracing/long-tasks-enabled/test.ts index 4b722b90ec6c..7390d390224a 100644 --- a/packages/integration-tests/suites/tracing/browsertracing/long-tasks-enabled/test.ts +++ b/packages/integration-tests/suites/tracing/browsertracing/long-tasks-enabled/test.ts @@ -22,7 +22,7 @@ sentryTest('should capture long task.', async ({ browserName, getLocalTestPath, const [firstUISpan] = uiSpans || []; expect(firstUISpan).toEqual( expect.objectContaining({ - op: 'ui.task', + op: 'ui.long-task', description: 'Main UI thread blocked', parent_span_id: eventData.contexts?.trace.span_id, }), From edf5f3812397dae33c8e9116ea11faee0259bb78 Mon Sep 17 00:00:00 2001 From: Abhijeet Prasad Date: Thu, 6 Oct 2022 10:47:49 +0200 Subject: [PATCH 5/5] Update packages/tracing/src/browser/metrics/index.ts --- packages/tracing/src/browser/metrics/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tracing/src/browser/metrics/index.ts b/packages/tracing/src/browser/metrics/index.ts index d2afa36b25b9..a20309fa71d0 100644 --- a/packages/tracing/src/browser/metrics/index.ts +++ b/packages/tracing/src/browser/metrics/index.ts @@ -53,7 +53,7 @@ export function startTrackingLongTasks(): void { const duration = msToSec(entry.duration); transaction.startChild({ description: 'Main UI thread blocked', - op: 'ui.task', + op: 'ui.long-task', startTimestamp: startTime, endTimestamp: startTime + duration, });