feat: Add a script to generate deprecated attributes#61
Conversation
| "replacement": "http.response.size", | ||
| "_status": "backfill" |
There was a problem hiding this comment.
If an SDK is sending http.response.size (the already 'correct' field), would we also write http.response_transfer_size?
There was a problem hiding this comment.
oops, no - we'd only write it to http.response.size - the coalesce should take care of it
| "reason": { | ||
| "type": "string" | ||
| }, | ||
| "_status": { |
There was a problem hiding this comment.
should this be required? If not it effectively communicates a third enum value.
There was a problem hiding this comment.
I thought we'd start the double write with a small set of deprecated fields, so just have relay do nothing for the rest, but should we just start double write on all of these @Dav1dde
There was a problem hiding this comment.
👍 that answer my question as well, for a missing _status we just do nothing!
Idea: rename status to normalize with values replace, backfill, None (do nothing, default)? But that's just bikeshedding.
There was a problem hiding this comment.
yeah, let me do that - i'll add a third option and make it required so it's explicit
Adds a script to generate a JSON of deprecated fields
so the ingest pipeline can use sentry-conventions
as the source of truth.
Also adds a
_statusfield to the attributes schema.We can use this internally do decide which stage of the
deprecation an is in. Deprecated fields need a 90 day
backfill (ie relay double-writes, EAP coalesces etc) after
which they can just be normalized to the new field.