Description
Is there an existing issue for this?
- I have checked for existing issues https://github.com/getsentry/sentry-javascript/issues
- I have reviewed the documentation https://docs.sentry.io/
- I am using the latest SDK release https://github.com/getsentry/sentry-javascript/releases
How do you use Sentry?
Sentry Saas (sentry.io)
Which SDK are you using?
@sentry/nestjs
SDK Version
8.38.0
Framework Version
NestJS 10.4.2
Link to Sentry event
No response
Reproduction Example/SDK Setup
No response
Steps to Reproduce
If you apply the SentryTraced
decorator to a function, it replaces it with a new function that retains the name of the original function but does not copy over the metadata using reflect-metadata
that may have been applied by another decorator (which is a common pattern in NestJS) such as SetMetadata
from @nestjs/common
.
Expected Result
After the decorator assigns decorator.value
, it should do something like:
const metadataKeys = Reflect.getMetadataKeys(originalMethod);
for (const metadataKey of metadataKeys) {
const value = Reflect.getMetadata(metadataKey, originalMethod);
Reflect.defineMetadata(metadataKey, value, descriptor.value);
}
I have applied a patch to get things working for us that does exactly this
Actual Result
It does not copy the metadata so other functionality that relies on it breaks.
Metadata
Metadata
Assignees
Type
Projects
Status
No status