getsentry / getsentry/sentry-javascript

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

Aperta
#13,517 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Improvement Nest.js
Lingua principale
TypeScript
Stelle
8.7k
Fork
1.8k
Merge medio
1g 17h
PR unite (30g)
515

Descrizione

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`

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.