Diamond is a python daemon that collects system metrics and publishes them to Graphite (and others). It is capable of collecting cpu, memory, network, i/o, load and disk metrics. Additionally, it features an API for implementing custom collectors for gathering metrics from almost any source.
In my tests, the InfluxDB handler didn't work because the JSON dict created by the handler wasn't accepted by python-influxdb. I re-checked the implementation in python-influxdb and the problem is definitely on at the handler side.
This PR includes:
Proper dict keys for python-influxdb
Transform the metric path to metric name plus tags. This is probably not complete, currently only hostname and if available CPU are added to tags. The metric name will be _
Remove the timestamp test for sending a batch. This could cause a loss of metrics when the batch buffer is almost full and the handler should process a bunch of metrics coming in in a small time range.
Coverage decreased (-0.09%) to 24.578% when pulling a0160c0b484f56c560d3bc76e0e5c94f55f616bc on TomTheBear:InfluxDB_handler into f2bece462577a7c557be8a9f90f6b9340c3db571 on python-diamond:master.
Coverage decreased (-0.09%) to 24.578% when pulling a0160c0b484f56c560d3bc76e0e5c94f55f616bc on TomTheBear:InfluxDB_handler into f2bece462577a7c557be8a9f90f6b9340c3db571 on python-diamond:master.
In my tests, the InfluxDB handler didn't work because the JSON dict created by the handler wasn't accepted by python-influxdb. I re-checked the implementation in python-influxdb and the problem is definitely on at the handler side. This PR includes: