From ee9a2f73a1dd8cca607d11f546b7281b03b70452 Mon Sep 17 00:00:00 2001
From: Daniel Nelson <daniel@wavesofdawn.com>
Date: Fri, 20 Apr 2018 18:39:31 -0700
Subject: [PATCH] Fix duplicate tags when overriding tag (#4056)

---
 metric/metric.go      | 1 +
 metric/metric_test.go | 1 +
 2 files changed, 2 insertions(+)

diff --git a/metric/metric.go b/metric/metric.go
index 2c8fdb9c..3249b56a 100644
--- a/metric/metric.go
+++ b/metric/metric.go
@@ -123,6 +123,7 @@ func (m *metric) AddTag(key, value string) {
 
 		if key == tag.Key {
 			tag.Value = value
+			return
 		}
 
 		m.tags = append(m.tags, nil)
diff --git a/metric/metric_test.go b/metric/metric_test.go
index 1fecf2e4..47d44f3e 100644
--- a/metric/metric_test.go
+++ b/metric/metric_test.go
@@ -63,6 +63,7 @@ func TestAddTagOverwrites(t *testing.T) {
 	value, ok := m.GetTag("host")
 	require.True(t, ok)
 	require.Equal(t, "example.org", value)
+	require.Equal(t, 1, len(m.TagList()))
 }
 
 func TestRemoveTagNoEffectOnMissingTags(t *testing.T) {
-- 
GitLab