Skip to content

Add automatic instrumentation to @sentry/nestjs where @Injectable is not used #13517

@nicohrubec

Description

@nicohrubec

Currently the following automatic instrumentations rely on users putting @Injectable on top of their implementations:

  • Middleware
  • Interceptors
  • Pipes
  • Guards

The problem with this approach is that, even though the nestjs docs say you need the decorator for these constructs, they work fine without if they do not rely on other dependencies being injected. ref Currently these would not get instrumented without the decorator and users would have to manual instrumentation.

Solution Brainstorm:
There is several other places we can monkey-patch to make this more robust.

  • core/nest-application.ts: contains API like app.useGlobalFilters, app.use, app.useInterceptors
  • other decorators that can be put directly on controllers and get implementations as input: @UseFilters, @Useinterceptors

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions