diff --git a/common/metrics/tally_metrics_handler.go b/common/metrics/tally_metrics_handler.go index ad0f152fd66..581b38f0dff 100644 --- a/common/metrics/tally_metrics_handler.go +++ b/common/metrics/tally_metrics_handler.go @@ -64,6 +64,7 @@ func (tmp *tallyMetricsHandler) WithTags(tags ...Tag) MetricsHandler { return &tallyMetricsHandler{ scope: tmp.scope.Tagged(tagsToMap(tags, tmp.excludeTags)), perUnitBuckets: tmp.perUnitBuckets, + excludeTags: tmp.excludeTags, } } diff --git a/common/metrics/tally_metrics_handler_test.go b/common/metrics/tally_metrics_handler_test.go index c42df95751a..69fe70f51da 100644 --- a/common/metrics/tally_metrics_handler_test.go +++ b/common/metrics/tally_metrics_handler_test.go @@ -29,6 +29,7 @@ import ( "testing" "time" + "github.com/pborman/uuid" "github.com/stretchr/testify/assert" "github.com/uber-go/tally/v4" ) @@ -79,6 +80,14 @@ func TestTallyScope(t *testing.T) { }, histograms["test.transmission+"].Values()) assert.EqualValues(t, map[time.Duration]int64(nil), histograms["test.transmission+"].Durations()) assert.EqualValues(t, map[string]string{}, histograms["test.transmission+"].Tags()) + + newTaggedHandler := mp.WithTags(NamespaceTag(uuid.New())) + recordTallyMetrics(newTaggedHandler) + snap = scope.Snapshot() + counters = snap.Counters() + + assert.EqualValues(t, 11, counters["test.hits-tagged+taskqueue=__sticky__"].Value()) + assert.EqualValues(t, map[string]string{"taskqueue": "__sticky__"}, counters["test.hits-tagged+taskqueue=__sticky__"].Tags()) } func recordTallyMetrics(mp MetricsHandler) {