From 3da4cfdd29af9023ccb995954a407ac8f14c6999 Mon Sep 17 00:00:00 2001 From: Cristofer Gonzales Date: Mon, 15 Jul 2019 17:19:26 -0400 Subject: [PATCH] Initilizes accumulator in statsd during Start --- plugins/inputs/statsd/datadog_test.go | 16 +++++++++++----- plugins/inputs/statsd/statsd.go | 5 ++++- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/plugins/inputs/statsd/datadog_test.go b/plugins/inputs/statsd/datadog_test.go index 61762a2c451fe..9800d9e67f726 100644 --- a/plugins/inputs/statsd/datadog_test.go +++ b/plugins/inputs/statsd/datadog_test.go @@ -74,7 +74,8 @@ func TestEventGather(t *testing.T) { } acc := &testutil.Accumulator{} s := NewTestStatsd() - s.acc = acc + require.NoError(t, s.Start(acc)) + defer s.Stop() for i := range tests { t.Run(tests[i].name, func(t *testing.T) { @@ -379,11 +380,13 @@ func TestEvents(t *testing.T) { }, }, } + s := NewTestStatsd() + acc := &testutil.Accumulator{} + require.NoError(t, s.Start(acc)) + defer s.Stop() for i := range tests { t.Run(tests[i].name, func(t *testing.T) { - s := NewTestStatsd() - acc := &testutil.Accumulator{} - s.acc = acc + acc.ClearMetrics() err := s.parseEventMessage(tests[i].args.now, tests[i].args.message, tests[i].args.hostname) require.Nil(t, err) m := acc.Metrics[0] @@ -406,7 +409,10 @@ func TestEvents(t *testing.T) { func TestEventError(t *testing.T) { now := time.Now() s := NewTestStatsd() - s.acc = &testutil.Accumulator{} + acc := &testutil.Accumulator{} + require.NoError(t, s.Start(acc)) + defer s.Stop() + // missing length header err := s.parseEventMessage(now, "_e:title|text", "default-hostname") require.Error(t, err) diff --git a/plugins/inputs/statsd/statsd.go b/plugins/inputs/statsd/statsd.go index 8979b9c02a803..107a6e3887cd2 100644 --- a/plugins/inputs/statsd/statsd.go +++ b/plugins/inputs/statsd/statsd.go @@ -309,11 +309,14 @@ func (s *Statsd) Gather(acc telegraf.Accumulator) error { return nil } -func (s *Statsd) Start(_ telegraf.Accumulator) error { +func (s *Statsd) Start(ac telegraf.Accumulator) error { if s.ParseDataDogTags { s.DataDogExtensions = true log.Printf("W! [inputs.statsd] The parse_data_dog_tags option is deprecated, use datadog_extensions instead.") } + + s.acc = ac + // Make data structures s.gauges = make(map[string]cachedgauge) s.counters = make(map[string]cachedcounter)