-
-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
getsentry/rfcs
#116Labels
RFCRFCs related workRFCs related work
Description
We've been relying on a variety of sources of truth for conventions on data attached to Sentry events.
For errors/transactions we have:
- top level fields on the error like user/release/environment
- contexts: expected to follow https://develop.sentry.dev/sdk/event-payloads/contexts/
- tags (some top level fields and contexts are promoted to become tags during processing)
For spans we have:
- tags
- data: expected to follow https://develop.sentry.dev/sdk/performance/span-data-conventions/
For breadcrumbs we have:
- data: no format atm, but UI and replay product relies on certain format/values in breadcrumbs
For crons we have nothing atm.
For metrics (DDM) we have:
- tags
Let's write an RFC that accomplishes the following:
- Establishes attributes field for spans/breadcrumbs/crons/metrics that is the top level key value store for arbitrary data about a sentry signal (we can alias to data for backwards compat). Attributes will be flattened and rely on keys for separation (
http.Xvs.db.Y). - Defines attributes to follow conventions that are superset of OTEL's semantic conventions
- Formalizes attribute conventions via some format that will be consumed by Relay/Kafka/Backend/Frontend (we can make this rust/python/js library that we publish, or just a plain json schema)
Goals:
- There is a clear mapping between what exists today vs. attributes we want for our spans/metrics/breadcrumbs in the future
- Everything is backwards compatible - an old SDK sending data should still keep working with modern Sentry (exceptions can apply)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
RFCRFCs related workRFCs related work
Fields
Give feedbackNo fields configured for issues without a type.