Conversation
…ize` The attributes marked `backfill` in #571 are straight renames, so backfilling duplicated every value under both the old and the new key. For large values like `url.full` that measurably increased log and metric payload sizes. Switching them to `normalize` keeps a single copy under the replacement key. Co-Authored-By: Claude <noreply@anthropic.com>
Semver Impact of This PR🟢 Patch (bug fixes) 📋 Changelog PreviewThis is how your changes will appear in the changelog. New Features ✨Names
Other
Bug Fixes 🐛
Internal Changes 🔧
🤖 This preview updates automatically when you update the PR. |
|
It turns out, attributes being backfilled do not contribute to the billed log/metric size, as relay takes a size snapshot prior to backfilling. Therefore, I'm going to close the PR, since I slightly prefer the backfilling due to transparency. We can re-open whenver we need to! |
|
To expand a bit on how this works: the first trusted Relay (i.e. in our infrastructure) that receives the logs (metrics, &c.) calculates the size before any processing and saves it in a header. This is the billing relevant size. Subsequent Relays don't update this header if it's present, so the size as received is always what we use for billing no matter what transformations we do on the attributes. |
Changes the deprecation status of the attributes marked
backfillin #571 tonormalize.Backfilling these straight renames means the value is stored under both the old and the new key. That increased log and metric sizes. Normalizing ensures a large value like
url.fullonly ends up once in the stored metric.Two attributes from #571 are untouched:
net.transport(already reverted tonullin #588) andnetwork.local.address(that PR only changed its example).@ Reviewers: If you prefer a more fine-grained change instead, I'm also happy to drop the bulk change.