InfluxGraph/influxgraph

Feature query

sunbit opened this issue · 2 comments

Cannot find any contact mail or info about this project oe the authors, so i'll try to reach to you from here...

I have a question: Since graphite itself doesn't support sub-second resolution (let's say 10 samples per second )on stored data, and you're using influxdb as the backend. Do you know/have tested what happens when you inject sub second data into influx and try to render it using graphite api? Does the graphite api preserve that resolution?

Hi there,

Thanks for the interest, will add a Google group to the readme for such discussions.

To answer your question, while the Graphite API does not support sub-second resolution and requires 1 second aggregation at the most, the underlying DB does support it as you say and the finder can make use of sub-second resolution data in the DB.

However, to comply with the Graphite API protocol, that data must be aggregated by the finder in per-second samples at the most. To configure the aggregation, ie the group by clause to influxdb, can use the deltas configuration entry.

For example to have queries with time range at or under 1min use per-second resolution, the following deltas entry should be added

deltas:
  # 1min -> 1s
  60: 1
  <other deltas here>

This is supported and tested, up to 1 second resolution per above.

The default deltas configuration matches Graphite's default which is 60sec - see full configuration documentation section for details on the defaults. See also aggregation_functions section for configuring a per-metric aggregation function.

Since it is possible to support sub-second resolution with some storage backends, I think it would be useful to make changes to the Graphite API to support it also, though obviously will not be the default as it is not backwards compatible.

Can have a look at this as a contribution to graphite-api when time permits, or you can if you're up for it :)

Query answered, closing