sentry-javascript icon indicating copy to clipboard operation
sentry-javascript copied to clipboard

Update express integration to be able to ignore layers like `router` or `middleware` spans

Open AbhiPrasad opened this issue 7 months ago • 1 comments

Description

https://github.com/getsentry/sentry-javascript/blob/develop/packages/node/src/integrations/tracing/express.ts

Similar to the work we did in https://github.com/getsentry/sentry-javascript/pull/16553 for Koa, we should expose ignoreLayers and ignoreLayersType from the underlying OTEL instrumentation.

https://www.npmjs.com/package/@opentelemetry/instrumentation-express

Exposed options:

Options Type Example Description
ignoreLayers IgnoreMatcher[] [/^/_internal//] Ignore layers that by match.
ignoreLayersType ExpressLayerType[] ['request_handler'] Ignore layers of specified type.

ignoreLayers accepts an array of elements of types:

  • string for full match of the path
  • RegExp for partial match of the path
  • function in the form of (path) => boolean for custom logic

ignoreLayersType accepts an array of following strings:

  • router is the name of express.Router(),
  • middleware
  • request_handler is the name for anything that's not a router or a middleware

AbhiPrasad avatar Jun 11 '25 17:06 AbhiPrasad

Relevant discord thread: https://discord.com/channels/621778831602221064/1382410123372269741/1382410123372269741

AbhiPrasad avatar Jun 11 '25 17:06 AbhiPrasad