Add Graphite support
Using the Graphite plaintext protocol: https://graphite.readthedocs.io/en/latest/feeding-carbon.html
I chosed some specific datapoints to grab out, to not send a lot of redundant data.
Your code is static. It should be based on the message files and generic like sendinflux and mqtt is.
I think it makes little sense to blindly copy all the fields from the messages to Graphite. In Graphite every datapoint becomes a series (pre-allocated, etc.). Graphite has builtin support for a lot of data manipulation, so it e.g. does not make sense to store averages, minimum, or maximum, if the data points are available for calculating them.
I could hide selection of fields behind a config flag, so the option of doing the generic storing is there?
The thing is the "case" that is extra in the code. To have this code as generic as possible to handle all scenarios i would like to skip them as far as we can. I know that graphite can work with the data and same does Influx. Not all messages from Batrium suit those databases since you get tons of em :)