diff --git a/packages/ember/addon/index.ts b/packages/ember/addon/index.ts index da359e705dd4..df3744619ee1 100644 --- a/packages/ember/addon/index.ts +++ b/packages/ember/addon/index.ts @@ -84,7 +84,7 @@ export const instrumentRoutePerformance = (BaseRoute: any) => { [BaseRoute.name]: class extends BaseRoute { beforeModel(...args: any[]) { return instrumentFunction( - 'ember.route.beforeModel', + 'ui.ember.route.before_model', (this).fullRouteName, super.beforeModel.bind(this), args, @@ -97,7 +97,7 @@ export const instrumentRoutePerformance = (BaseRoute: any) => { async afterModel(...args: any[]) { return instrumentFunction( - 'ember.route.afterModel', + 'ui.ember.route.after_model', (this).fullRouteName, super.afterModel.bind(this), args, @@ -106,7 +106,7 @@ export const instrumentRoutePerformance = (BaseRoute: any) => { async setupController(...args: any[]) { return instrumentFunction( - 'ember.route.setupController', + 'ui.ember.route.setup_controller', (this).fullRouteName, super.setupController.bind(this), args, diff --git a/packages/ember/tests/acceptance/sentry-performance-test.js b/packages/ember/tests/acceptance/sentry-performance-test.js index 35ac024b4af3..807fbe52de37 100644 --- a/packages/ember/tests/acceptance/sentry-performance-test.js +++ b/packages/ember/tests/acceptance/sentry-performance-test.js @@ -90,7 +90,7 @@ module('Acceptance | Sentry Transactions', function (hooks) { 'ui.ember.transition | route:tracing -> route:slow-loading-route.index', 'ui.ember.component.render | component:link-to', 'ui.ember.component.render | component:link-to', - 'ember.route.beforeModel | slow-loading-route', + 'ui.ember.route.before_model | slow-loading-route', 'ui.ember.runloop.actions | undefined', 'ui.ember.runloop.routerTransitions | undefined', 'ui.ember.runloop.render | undefined', @@ -102,7 +102,7 @@ module('Acceptance | Sentry Transactions', function (hooks) { 'ui.ember.runloop.render | undefined', 'ui.ember.runloop.afterRender | undefined', 'ui.ember.runloop.destroy | undefined', - 'ember.route.afterModel | slow-loading-route', + 'ui.ember.route.after_model | slow-loading-route', 'ui.ember.runloop.actions | undefined', 'ui.ember.runloop.routerTransitions | undefined', 'ui.ember.component.render | component:link-to', @@ -110,7 +110,7 @@ module('Acceptance | Sentry Transactions', function (hooks) { 'ui.ember.runloop.render | undefined', 'ui.ember.runloop.afterRender | undefined', 'ui.ember.runloop.destroy | undefined', - 'ember.route.beforeModel | slow-loading-route.index', + 'ui.ember.route.before_model | slow-loading-route.index', 'ui.ember.runloop.actions | undefined', 'ui.ember.runloop.routerTransitions | undefined', 'ui.ember.runloop.render | undefined', @@ -122,10 +122,10 @@ module('Acceptance | Sentry Transactions', function (hooks) { 'ui.ember.runloop.render | undefined', 'ui.ember.runloop.afterRender | undefined', 'ui.ember.runloop.destroy | undefined', - 'ember.route.afterModel | slow-loading-route.index', + 'ui.ember.route.after_model | slow-loading-route.index', 'ui.ember.runloop.actions | undefined', - 'ember.route.setupController | slow-loading-route', - 'ember.route.setupController | slow-loading-route.index', + 'ui.ember.route.setup_controller | slow-loading-route', + 'ui.ember.route.setup_controller | slow-loading-route.index', 'ui.ember.runloop.routerTransitions | undefined', 'ui.ember.component.render | component:link-to', 'ui.ember.component.render | component:link-to', diff --git a/packages/remix/src/utils/instrumentServer.ts b/packages/remix/src/utils/instrumentServer.ts index f985b1866b4f..5c44d3802ff4 100644 --- a/packages/remix/src/utils/instrumentServer.ts +++ b/packages/remix/src/utils/instrumentServer.ts @@ -115,7 +115,7 @@ function makeWrappedDocumentRequestFunction( try { const span = activeTransaction?.startChild({ - op: 'remix.server.documentRequest', + op: 'function.remix.document_request', description: activeTransaction.name, tags: { method: request.method, @@ -147,7 +147,7 @@ function makeWrappedDataFunction(origFn: DataFunction, id: string, name: 'action try { const span = activeTransaction?.startChild({ - op: `remix.server.${name}`, + op: `function.remix.${name}`, description: id, tags: { name, diff --git a/packages/serverless/src/awslambda.ts b/packages/serverless/src/awslambda.ts index ca76cf12382a..2bbacf751e99 100644 --- a/packages/serverless/src/awslambda.ts +++ b/packages/serverless/src/awslambda.ts @@ -315,7 +315,7 @@ export function wrapHandler( const transaction = hub.startTransaction({ name: context.functionName, - op: 'awslambda.handler', + op: 'function.aws.lambda', ...traceparentData, metadata: { dynamicSamplingContext: traceparentData && !dynamicSamplingContext ? {} : dynamicSamplingContext, diff --git a/packages/serverless/src/awsservices.ts b/packages/serverless/src/awsservices.ts index 59ce07a97500..66b2ea93c52d 100644 --- a/packages/serverless/src/awsservices.ts +++ b/packages/serverless/src/awsservices.ts @@ -65,7 +65,7 @@ function wrapMakeRequest( if (transaction) { span = transaction.startChild({ description: describe(this, operation, params), - op: 'aws.request', + op: 'http.client', }); } }); diff --git a/packages/serverless/src/gcpfunction/cloud_events.ts b/packages/serverless/src/gcpfunction/cloud_events.ts index 168e138f02ba..6ab7b173784c 100644 --- a/packages/serverless/src/gcpfunction/cloud_events.ts +++ b/packages/serverless/src/gcpfunction/cloud_events.ts @@ -34,7 +34,7 @@ function _wrapCloudEventFunction( const transaction = hub.startTransaction({ name: context.type || '', - op: 'gcp.function.cloud_event', + op: 'function.gcp.cloud_event', metadata: { source: 'component' }, }); diff --git a/packages/serverless/src/gcpfunction/events.ts b/packages/serverless/src/gcpfunction/events.ts index ba2262beebd1..6b83fd8bfba0 100644 --- a/packages/serverless/src/gcpfunction/events.ts +++ b/packages/serverless/src/gcpfunction/events.ts @@ -36,7 +36,7 @@ function _wrapEventFunction const transaction = hub.startTransaction({ name: context.eventType, - op: 'gcp.function.event', + op: 'function.gcp.event', metadata: { source: 'component' }, }); diff --git a/packages/serverless/src/gcpfunction/http.ts b/packages/serverless/src/gcpfunction/http.ts index 70703be9728a..82e553fa0c2b 100644 --- a/packages/serverless/src/gcpfunction/http.ts +++ b/packages/serverless/src/gcpfunction/http.ts @@ -85,7 +85,7 @@ function _wrapHttpFunction(fn: HttpFunction, wrapOptions: Partial { diff --git a/packages/serverless/src/google-cloud-http.ts b/packages/serverless/src/google-cloud-http.ts index b2116195a604..81b8d6a69155 100644 --- a/packages/serverless/src/google-cloud-http.ts +++ b/packages/serverless/src/google-cloud-http.ts @@ -59,7 +59,7 @@ function wrapRequestFunction(orig: RequestFunction): RequestFunction { const httpMethod = reqOpts.method || 'GET'; span = transaction.startChild({ description: `${httpMethod} ${reqOpts.uri}`, - op: `gcloud.http.${identifyService(this.apiEndpoint)}`, + op: `http.client.${identifyService(this.apiEndpoint)}`, }); } orig.call(this, reqOpts, (...args: Parameters) => { diff --git a/packages/serverless/test/awslambda.test.ts b/packages/serverless/test/awslambda.test.ts index 89ed84183651..419974e73bfe 100644 --- a/packages/serverless/test/awslambda.test.ts +++ b/packages/serverless/test/awslambda.test.ts @@ -191,7 +191,7 @@ describe('AWSLambda', () => { const fakeTransactionContext = { name: 'functionName', - op: 'awslambda.handler', + op: 'function.aws.lambda', metadata: { source: 'component' }, }; @@ -218,7 +218,7 @@ describe('AWSLambda', () => { } catch (e) { const fakeTransactionContext = { name: 'functionName', - op: 'awslambda.handler', + op: 'function.aws.lambda', metadata: { source: 'component' }, }; @@ -258,7 +258,7 @@ describe('AWSLambda', () => { expect.objectContaining({ parentSpanId: '1121201211212012', parentSampled: false, - op: 'awslambda.handler', + op: 'function.aws.lambda', name: 'functionName', traceId: '12312012123120121231201212312012', metadata: { @@ -292,7 +292,7 @@ describe('AWSLambda', () => { } catch (e) { const fakeTransactionContext = { name: 'functionName', - op: 'awslambda.handler', + op: 'function.aws.lambda', traceId: '12312012123120121231201212312012', parentSpanId: '1121201211212012', parentSampled: false, @@ -322,7 +322,7 @@ describe('AWSLambda', () => { const fakeTransactionContext = { name: 'functionName', - op: 'awslambda.handler', + op: 'function.aws.lambda', metadata: { source: 'component' }, }; @@ -360,7 +360,7 @@ describe('AWSLambda', () => { } catch (e) { const fakeTransactionContext = { name: 'functionName', - op: 'awslambda.handler', + op: 'function.aws.lambda', metadata: { source: 'component' }, }; @@ -402,7 +402,7 @@ describe('AWSLambda', () => { const fakeTransactionContext = { name: 'functionName', - op: 'awslambda.handler', + op: 'function.aws.lambda', metadata: { source: 'component' }, }; @@ -440,7 +440,7 @@ describe('AWSLambda', () => { } catch (e) { const fakeTransactionContext = { name: 'functionName', - op: 'awslambda.handler', + op: 'function.aws.lambda', metadata: { source: 'component' }, }; diff --git a/packages/serverless/test/awsservices.test.ts b/packages/serverless/test/awsservices.test.ts index 96c2659eda69..fd1be7a74689 100644 --- a/packages/serverless/test/awsservices.test.ts +++ b/packages/serverless/test/awsservices.test.ts @@ -32,7 +32,7 @@ describe('AWSServices', () => { expect(data.Body?.toString('utf-8')).toEqual('contents'); // @ts-ignore see "Why @ts-ignore" note expect(Sentry.fakeTransaction.startChild).toBeCalledWith({ - op: 'aws.request', + op: 'http.client', description: 'aws.s3.getObject foo', }); // @ts-ignore see "Why @ts-ignore" note @@ -49,7 +49,7 @@ describe('AWSServices', () => { }); // @ts-ignore see "Why @ts-ignore" note expect(Sentry.fakeTransaction.startChild).toBeCalledWith({ - op: 'aws.request', + op: 'http.client', description: 'aws.s3.getObject foo', }); }); @@ -64,7 +64,7 @@ describe('AWSServices', () => { expect(data.Payload?.toString('utf-8')).toEqual('reply'); // @ts-ignore see "Why @ts-ignore" note expect(Sentry.fakeTransaction.startChild).toBeCalledWith({ - op: 'aws.request', + op: 'http.client', description: 'aws.lambda.invoke foo', }); }); diff --git a/packages/serverless/test/gcpfunction.test.ts b/packages/serverless/test/gcpfunction.test.ts index 1c587df44634..757669387863 100644 --- a/packages/serverless/test/gcpfunction.test.ts +++ b/packages/serverless/test/gcpfunction.test.ts @@ -113,7 +113,7 @@ describe('GCPFunction', () => { const fakeTransactionContext = { name: 'POST /path', - op: 'gcp.function.http', + op: 'function.gcp.http', metadata: { source: 'route' }, }; // @ts-ignore see "Why @ts-ignore" note @@ -146,7 +146,7 @@ describe('GCPFunction', () => { const fakeTransactionContext = { name: 'POST /path', - op: 'gcp.function.http', + op: 'function.gcp.http', traceId: '12312012123120121231201212312012', parentSpanId: '1121201211212012', parentSampled: false, @@ -182,7 +182,7 @@ describe('GCPFunction', () => { const fakeTransactionContext = { name: 'POST /path', - op: 'gcp.function.http', + op: 'function.gcp.http', traceId: '12312012123120121231201212312012', parentSpanId: '1121201211212012', parentSampled: false, @@ -261,7 +261,7 @@ describe('GCPFunction', () => { const fakeTransactionContext = { name: 'event.type', - op: 'gcp.function.event', + op: 'function.gcp.event', metadata: { source: 'component' }, }; // @ts-ignore see "Why @ts-ignore" note @@ -288,7 +288,7 @@ describe('GCPFunction', () => { const fakeTransactionContext = { name: 'event.type', - op: 'gcp.function.event', + op: 'function.gcp.event', metadata: { source: 'component' }, }; // @ts-ignore see "Why @ts-ignore" note @@ -320,7 +320,7 @@ describe('GCPFunction', () => { const fakeTransactionContext = { name: 'event.type', - op: 'gcp.function.event', + op: 'function.gcp.event', metadata: { source: 'component' }, }; // @ts-ignore see "Why @ts-ignore" note @@ -351,7 +351,7 @@ describe('GCPFunction', () => { const fakeTransactionContext = { name: 'event.type', - op: 'gcp.function.event', + op: 'function.gcp.event', metadata: { source: 'component' }, }; // @ts-ignore see "Why @ts-ignore" note @@ -380,7 +380,7 @@ describe('GCPFunction', () => { const fakeTransactionContext = { name: 'event.type', - op: 'gcp.function.event', + op: 'function.gcp.event', metadata: { source: 'component' }, }; // @ts-ignore see "Why @ts-ignore" note @@ -407,7 +407,7 @@ describe('GCPFunction', () => { const fakeTransactionContext = { name: 'event.type', - op: 'gcp.function.event', + op: 'function.gcp.event', metadata: { source: 'component' }, }; // @ts-ignore see "Why @ts-ignore" note @@ -435,7 +435,7 @@ describe('GCPFunction', () => { const fakeTransactionContext = { name: 'event.type', - op: 'gcp.function.event', + op: 'function.gcp.event', metadata: { source: 'component' }, }; // @ts-ignore see "Why @ts-ignore" note @@ -474,7 +474,7 @@ describe('GCPFunction', () => { const fakeTransactionContext = { name: 'event.type', - op: 'gcp.function.cloud_event', + op: 'function.gcp.cloud_event', metadata: { source: 'component' }, }; // @ts-ignore see "Why @ts-ignore" note @@ -501,7 +501,7 @@ describe('GCPFunction', () => { const fakeTransactionContext = { name: 'event.type', - op: 'gcp.function.cloud_event', + op: 'function.gcp.cloud_event', metadata: { source: 'component' }, }; // @ts-ignore see "Why @ts-ignore" note @@ -530,7 +530,7 @@ describe('GCPFunction', () => { const fakeTransactionContext = { name: 'event.type', - op: 'gcp.function.cloud_event', + op: 'function.gcp.cloud_event', metadata: { source: 'component' }, }; // @ts-ignore see "Why @ts-ignore" note @@ -557,7 +557,7 @@ describe('GCPFunction', () => { const fakeTransactionContext = { name: 'event.type', - op: 'gcp.function.cloud_event', + op: 'function.gcp.cloud_event', metadata: { source: 'component' }, }; // @ts-ignore see "Why @ts-ignore" note @@ -585,7 +585,7 @@ describe('GCPFunction', () => { const fakeTransactionContext = { name: 'event.type', - op: 'gcp.function.cloud_event', + op: 'function.gcp.cloud_event', metadata: { source: 'component' }, }; // @ts-ignore see "Why @ts-ignore" note diff --git a/packages/serverless/test/google-cloud-grpc.test.ts b/packages/serverless/test/google-cloud-grpc.test.ts index baf6d042a489..ffd0d0144346 100644 --- a/packages/serverless/test/google-cloud-grpc.test.ts +++ b/packages/serverless/test/google-cloud-grpc.test.ts @@ -128,7 +128,7 @@ describe('GoogleCloudGrpc tracing', () => { expect(resp).toEqual('1637084156623860'); // @ts-ignore see "Why @ts-ignore" note expect(Sentry.fakeTransaction.startChild).toBeCalledWith({ - op: 'gcloud.grpc.pubsub', + op: 'grpc.pubsub', description: 'unary call publish', }); await pubsub.close(); diff --git a/packages/serverless/test/google-cloud-http.test.ts b/packages/serverless/test/google-cloud-http.test.ts index 7d785462a4d9..7a34d5026a5b 100644 --- a/packages/serverless/test/google-cloud-http.test.ts +++ b/packages/serverless/test/google-cloud-http.test.ts @@ -59,12 +59,12 @@ describe('GoogleCloudHttp tracing', () => { expect(resp).toEqual([[{ foo: true }]]); // @ts-ignore see "Why @ts-ignore" note expect(Sentry.fakeTransaction.startChild).toBeCalledWith({ - op: 'gcloud.http.bigquery', + op: 'http.client.bigquery', description: 'POST /jobs', }); // @ts-ignore see "Why @ts-ignore" note expect(Sentry.fakeTransaction.startChild).toBeCalledWith({ - op: 'gcloud.http.bigquery', + op: 'http.client.bigquery', description: expect.stringMatching(new RegExp('^GET /queries/.+')), }); }); 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(); diff --git a/packages/vue/src/tracing.ts b/packages/vue/src/tracing.ts index 342b58db2ebd..c846002b2a42 100644 --- a/packages/vue/src/tracing.ts +++ b/packages/vue/src/tracing.ts @@ -75,7 +75,7 @@ export const createTracingMixins = (options: TracingOptions): Mixins => { this.$_sentryRootSpan || activeTransaction.startChild({ description: 'Application Render', - op: VUE_OP, + op: 'ui.vue.render', }); } }