Metrics - Telegraf - Influx Statsd Protocol Support #1138
Replies: 9 comments
-
Can you use the Dogstatsd package? |
Beta Was this translation helpful? Give feedback.
-
Hey @peterbourgon. Unfortunately the protocol is different. This can be seen in the metric format for dogstatsd, where the tags are placed at the end, instead of after the metric name in CSV format. |
Beta Was this translation helpful? Give feedback.
-
@peterbourgon, I've been doing a little more digging, and I've found two potential options that I can currently use:
I think I will go with Edit : Update : |
Beta Was this translation helpful? Give feedback.
-
How would you suggest we manage the different wire protocols, if they're all in the same package? Different types and constructors? |
Beta Was this translation helpful? Give feedback.
-
There are two options that I can think of off the top of my head :
Both seem quite messy, especially since DogStatsD is more independent from StatsD compared with Influx StatsD. Just some suggestions. Let me know what you think. |
Beta Was this translation helpful? Give feedback.
-
I'd like to try out a package structure that better optimizes for minimizing dependencies. If all of those implementations can be made using only stdlib dependencies, then I think it'd be great if they can just be types in the same Does that make sense? (I fully acknowledge this isn't currently the case throughout Go kit!) |
Beta Was this translation helpful? Give feedback.
-
That makes sense, @peterbourgon. I believe (inferring that internal dependencies are not third-party dependencies) the current case is that both of the currently implemented protocols (i.e. |
Beta Was this translation helpful? Give feedback.
-
Hmm, I guess the tradition now is separate packages altogether. Three choices:
|
Beta Was this translation helpful? Give feedback.
-
@peterbourgon, if creating an additional package is not a problem, I would agree with your preference. One thing, as I noted earlier, is that the Influx StatsD is not as independent as DogStatsD, and seems to be a protocol created by Telegraf (i.e. Influx Data) to support tags / additional features using StatsD protocol. So, seeing as it's a potentially temporary protocol, I could see it either as a separate package that separates concerns in case the protocol is deprecated in the future, or implementing tag support in I still see your preference as the best option. 😅 |
Beta Was this translation helpful? Give feedback.
-
I need to send metrics to a telegraf client that supports the Influx Statsd protocol.
I know that the metrics libraries that go-kit supports are just the standard protocols, so my question is if go-kit is opposed to adding support for the protocol, what would be the best way to create my own package using go-kit's
statsd
package and just adding tag support? I can't take thestatsd
package directly and make my modifications because the package uses internal libraries. Thanks!Beta Was this translation helpful? Give feedback.
All reactions