Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Derivative aggregator should take the difference between the last point of the current bucket and the last point from the previous bucket [EDIT] This issue will address queries with no group by time and group by time + fill. Issue #1030 has been created to fix group by without fill. #334

Closed
jvshahid opened this issue Mar 12, 2014 · 16 comments
Assignees
Milestone

Comments

@jvshahid
Copy link
Contributor

Currently derivative won't work with one point per bucket

@jvshahid jvshahid added this to the 0.6.0 milestone Mar 12, 2014
@pauldix pauldix modified the milestones: 0.5.10, 0.6.0 Apr 19, 2014
@pauldix pauldix modified the milestones: 0.5.11, 0.5.10 Apr 22, 2014
@jvshahid jvshahid modified the milestones: 0.5.12, 0.5.11, 0.5.13 Apr 25, 2014
@jvshahid jvshahid modified the milestones: 0.6.0, 0.5.13, 0.6.1, 0.6.2 May 2, 2014
@jvshahid jvshahid modified the milestones: Next release, 0.6.2 May 12, 2014
@prune998
Copy link

Currently derivative won't work with whatever point per bucket if data is not changing often because the change happening between two buckets is lost

@ragzilla
Copy link

ragzilla commented Jul 5, 2014

Interested in this (use case, storing 32/64 bit counters in influxdb). Current workaround of doing a group by(2*sampleperiod) throws away good data. I'm somewhat familiar with Go but have no idea where to start on this issue.

@michail-nikolaev
Copy link

same thing for "difference" aggregator too

@tcolgate
Copy link
Contributor

This makes using counters with influxdb entirely impractival especially if you deduplicate the data before pushing (I'm using tcollector to send data). I shouldn't need to know the sample period in order to take a derivative (what happens if I change my sample period for operational reasons? I can no longer reliably query the data).
Calculating rates on counters is an important technique in monitoring, and really needs first class support (TSDB is actually quite good at this, but I'd much rather be using Influx :) )

@johnarnold
Copy link

I'd love to see an update on this as well...

@damm
Copy link

damm commented Aug 29, 2014

I believe this is the largest blockers from going to production with InfluxDB.

You can either use graphite-api to talk to influxdb; or modify how you collect so you don't ever have to use this function.

:(

Updated comment for clarification thanks @prune998

@prune998
Copy link

rephrasing that : until Influxdb have a working derivative (and others), you can't get rid of graphite... and can't go on production and grow Influxdb...

This should seriously be on your top priorities !

@duane23
Copy link

duane23 commented Sep 2, 2014

Agree with the above comments - this is a show-stopper for my org with the current behaviour.

@cnf
Copy link

cnf commented Sep 2, 2014

I am running into this problem as well. As this is about half my use case, I must agree with the above assessment.

@cboggs
Copy link

cboggs commented Sep 20, 2014

+1

@jvshahid jvshahid modified the milestone: Next release Oct 9, 2014
@dgnorton dgnorton changed the title Derivative aggregator should take the difference between the last point of the current bucket and the last point from the previous bucket Derivative aggregator should take the difference between the last point of the current bucket and the last point from the previous bucket [EDIT] This issue will address queries with no group by time and group by time + fill. Issue #1030 has been created to fix group by without fill. Oct 15, 2014
@chausat
Copy link

chausat commented Oct 16, 2014

+1

I think calculating rate between each point for derivative if no group by time is given is very important and very very urgent.

@jvshahid jvshahid added this to the 0.8.4 milestone Oct 20, 2014
@jvshahid jvshahid assigned dgnorton and unassigned jvshahid Oct 21, 2014
@jvshahid jvshahid removed the review label Oct 21, 2014
@chausat
Copy link

chausat commented Oct 22, 2014

"0.8.4 RC1" doesn't work!

when using "select op_num from test where cmd ='set' ", the result is:

default

when using "select DERIVATIVE(op_num) from test where cmd ='set' ", the result is:
2

ONLY ONE RECORD!!!

@cnf
Copy link

cnf commented Oct 22, 2014

@chausat derivative can't work without a group by statement.

@moorereason
Copy link

@cnf Except for the fact that this issue explicitly references derivative "with no group by time."

If "group by" is required for derivative, the parser should throw an error.

@dgnorton
Copy link
Contributor

If there's no group by it should calculate the rate of change between each point. There is a test in the DataTestSuite for this case that passes but I am able to reproduce what @chausat is seeing with different data.

@dgnorton
Copy link
Contributor

@cnf @moorereason, My previous comment was wrong. Since there is no grouping, all points are put in the same bucket and it calculates the rate of change between the first and last value in the bucket. It always yields one point.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests