getsentry / getsentry/sentry-javascript
Add automatic instrumentation to @sentry/nestjs where `@Injectable` is not used
- 主要言語
- TypeScript
- スター
- 8.7k
- フォーク
- 1.8k
- 平均マージ
- 1日 17時間
- マージ済み PR(30日)
- 515
説明
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`
コントリビューションガイド
評価
この issue はまだ評価されていません。