This is not necessarily a bug, but rather a nonintuitive behavior.
statsd.WithTags(...) is used to specify a set of default tags on the statsd client. When the same option is applied multiple times on a *statsd.Client, only tags from the latest application are captured, overwriting tags from all previous applications of WithTags.
I believe the more intuitive behavior is to merge tags across multiple applications. Here is a motivating example:
This is not necessarily a bug, but rather a nonintuitive behavior.
statsd.WithTags(...)
is used to specify a set of default tags on the statsd client. When the same option is applied multiple times on a*statsd.Client
, only tags from the latest application are captured, overwriting tags from all previous applications ofWithTags
.I believe the more intuitive behavior is to merge tags across multiple applications. Here is a motivating example:
The following example demonstrates the same semantics more obviously:
Expected behavior: A metric of the following form is emitted, with both tags
foo:foo
andbar:bar
.Actual behavior: A metric of the following form is emitted, with only tag
bar:bar
.