stripe / veneur

A distributed, fault-tolerant pipeline for observability data
MIT License
1.74k stars 174 forks source link

Deduplicating add tags #1009

Closed andresgalindo-stripe closed 1 year ago

andresgalindo-stripe commented 1 year ago

Summary

Changes add_tags behavior to replace elements in the slice with the same key, if they exist, otherwise default to append.

Motivation

Using add_tags can cause us to have tags with duplicate keys (though different values), this has not been a problem because most of the sinks will transform the slice into a map which will naturally "dedupe". However, it causes a problem when we're using the max_tags configuration because now we don't have an accurate accounting of the number of tags.

This doesn't solve the problem of the metric being emitted with duplicate tags but that isn't something we've observed happens often.

Test plan

Unit test.

Rollout/monitoring/revert plan