-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Labels
Description
Problem Statement
Any time a developer wants to mutate their event data before it's sent to Sentry they need to use a beforeX hook.
These hooks provide serialized events to work with which is convenient for evaluating an event's key's values but inconvenient for mutating the event without access to any of the event methods.
Example:
I want to upcycle a spans duration into a custom metric:
beforeSendSpan: (span)=>{
if (span.op.includes("ui.react")) {
Sentry.metrics.distribution(`${span.op}.duration`, span.timestamp - span.start_timestamp, {
tags: { componentName: span.description },
unit: "millisecond",
});
console.log("Adding metric ",`${span.op}.duration`)
}
return span
}
This metric is not connected to the sampled span and this API will be going away.
I can't use span.setAttribute here because the span is already serialized.
Solution Brainstorm
Provide lifecycle hooks that can hook into events prior to serialization so that event methods can be used on them.
Metadata
Metadata
Assignees
Labels
Projects
Status
No status