Add configurable Max TTL duration for statsd input plugin entries#8509
Add configurable Max TTL duration for statsd input plugin entries#8509ivorybilled merged 2 commits intomasterfrom
Conversation
was missing type in readme
ssoroka
left a comment
There was a problem hiding this comment.
Nevermind, I got confused about the number of Gather calls. :D it's all good.
|
After upgrading from Telegraf 1.16.3 to 1.17.0, I've noticed that tags from statsd emissions are being mangled with unrelated metrics. I'm not pointing to this PR as the root cause for the regression, but this is also the only thing that's changed with the statsd plugin since the last release. If I have some more time I'll compile a more thorough bug report with a reproducible example. |
|
Interesting. Thank you for reporting that, let me know when/if you get more info! |
|
We've also seen the same mangled tags from statsd metrics after upgrading to 1.17.0 |
|
My golang is very rusty, but I think this is the cause of the issue: The As the parser was recently multithreaded, this means there may be multiple goroutines calling the following line in telegraf/plugins/inputs/statsd/statsd.go Lines 648 to 649 in 76c2201
telegraf/plugins/inputs/statsd/statsd.go Lines 691 to 696 in 76c2201 then creates a telegraf/plugins/inputs/statsd/statsd.go Lines 707 to 710 in 76c2201 and sets the default tags on that shared telegraf/plugins/inputs/statsd/statsd.go Line 713 in 76c2201 this means multiple goroutines will be concurrently modifying |
…fluxdata#8509) * Adding max TTL duration for all metric caches in the statsd input plugin * Update README.md was missing type in readme
The new config value will establish how long any metric can sit in the gauges/counters/timings/sets without being updated / received. When the Max TTL elapses, the metric will stop being reported until it was received again.
closes #8348