influxdata / telegraf

Agent for collecting, processing, aggregating, and writing metrics, logs, and other arbitrary data.
https://influxdata.com/telegraf
MIT License
14.15k stars 5.52k forks source link

Support for graphite pickle output #6575

Open sie-dlanz opened 4 years ago

sie-dlanz commented 4 years ago

Feature Request

Opening a feature request kicks off a discussion.

Proposal:

Implement graphite's pickle output protocol support

Current behavior:

Telegraf's graphite output plugin only supports plaintext (default TCP 2003) communications

Desired behavior:

Support graphite's pickled protocol (default TCP 2004)

Use case:

Graphite's pickled communications are much faster and more efficient for a large number of metric datapoints being submitted in one go, allowing batched submissions.

danielnelson commented 4 years ago

Good idea, we could maybe use https://github.com/hydrogen18/stalecucumber, though I wonder if we can get away with a much simpler and targetted implementation of only what we need.

sie-dlanz commented 4 years ago

There's a helper library specifically targeted at graphite here https://github.com/lomik/graphite-pickle and the carbon-relay-ng package is written in golang and has the pickle implementation here https://github.com/graphite-ng/carbon-relay-ng/blob/master/input/pickle.go maybe this can be of somewhat direct use?

sspaink commented 1 year ago

@sie-dlanz are you still interested in this feature? It seems https://github.com/hydrogen18/stalecucumber and https://github.com/lomik/graphite-pickle both haven't been updated in a long time which makes me hesitant to use them in Telergaf. Using the carbon-relay implementation seems like a good idea, but also hasn't been touched in 4 years so curious if this is still an actively used protocol?

Hipska commented 1 year ago

@sspaink to make you more comfortable, I can assure you @lomik is a good source for go and graphite related stuff. See it also being used by @go-graphite packages: https://github.com/search?q=org%3Ago-graphite+pickle&type=code

srebhan commented 3 months ago

Is there anyone still interested in this feature?

telegraf-tiger[bot] commented 2 months ago

Hello! I am closing this issue due to inactivity. I hope you were able to resolve your problem, if not please try posting this question in our Community Slack or Community Forums or provide additional details in this issue and reqeust that it be re-opened. Thank you!

Hipska commented 2 months ago

I think I would be interested. Luckily my endpoint also supports JSON, which is also better/compacter than regular graphite.

srebhan commented 2 months ago

@Hipska do you know of a working golang implementation of that format?

Hipska commented 2 months ago

As said before, the one from @lomik would be my first place to look. The reason there aren't much updates is that it is stable..