-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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 of nulls is not null #7185
Comments
I believe this is the intended behavior of derivative. The
The values fed to derivative will have nulls. But derivative itself skips over the null values in the current behavior. Null values are considered not to exist so it finds the derivative between the two points to even out the resulting graph. If you want it to use some value for the derivative (like zero), you can use |
I've got the same issue; if both points fed to the derivative are null, I'd like it to output null (or even one point? less sure on that) - I want to see a gap in my graph for that period. Is that incorrect behavior for a derivative function? Do we need something else? e.g., I'd rather see the gap like:
Instead of skipping over the null output:
|
Any workaround found for this? I am trying to monitor interface statistics as OP and running into this issue as well. List of values with fill(null):
Derivative with fill(null) skips to next time immediately and shown as a continuous line in graphing applications such as Grafana:
Derivative with a fill(0) results in huge spikes on graph:
Really like InfluxDb! Slowly migrating from RRDTool and this is really the only issue that I've run across. Thanks!!! |
I too am seeing this issue. Graphing network octets with a derivative function to get the bits/sec. If my device is down for a time, I'd prefer to see a gap in the graph, instead of a linear or previous value graphed. Any ideas on how to achieve that? |
@chooko Ran into the same issue, and the way we solved this was by multiplying by count()/count()
|
@amit-meshbey, nice hack! It works for me. Think InfluxDB team should be ashamed of having this workaround. Hope more pretty fix will appear sooner than they wanted. |
If I specify 1s interval for the derivative I want it to be 1s always. Not 60s if data happens to be missing for 60s. Then a gap in the derivative results is much less surprising. I'd also really like to see this fixed. |
I'm seeing this same issue any "fix" yet? |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
This issue has been automatically closed because it has not had recent activity. Please reopen if this issue is still important to you. Thank you for your contributions. |
I guess it depends on the type of gaps you have in the data… |
As I don't seem to be able to re-open someone elses issues: |
I also have this issue, data showing as incorrect and nulls are not really nulls, so please do not close this yet. |
Bump? Looks like I don't have power over stale bot |
I'm curious why this has been tagged "wontfix"? This is something that even the venerable rrdtool got right, so surely it shouldn't be that hard? It still affects 1.8.x. |
This patch replaces fill(none) with fill(null) in dashboards InfluxQL requests. After this patch, all panels with non-derivative requests will show the gap in metrics for an interval if there were no metrics for this interval. Before this patch, they had displayed a straight line connecting border values in the area. Derivative requests will still display a straight line [1]. There is a workaround to make derivative requests result consistent with non-derivative one, but it makes query more complicated both in terms of readability and performance, so it's not worth it. 1. influxdata/influxdb#7185 Closes #23
This patch replaces fill(none) with fill(null) in dashboards InfluxQL requests. After this patch, all panels with non-derivative requests will show the gap in metrics for an interval if there were no metrics for this interval. Before this patch, they had displayed a straight line connecting border values in the area. Derivative requests will still display a straight line [1]. There is a workaround to make derivative requests result consistent with non-derivative one, but it makes query more complicated both in terms of readability and performance, so it's not worth it. 1. influxdata/influxdb#7185 Closes #23
This patch replaces fill(none) with fill(null) in dashboards InfluxQL requests. After this patch, all panels with non-derivative requests will show the gap in metrics for an interval if there were no metrics for this interval. Before this patch, they had displayed a straight line connecting border values in the area. Derivative requests will still display a straight line [1]. There is a workaround to make derivative requests result consistent with non-derivative one, but it makes query more complicated both in terms of readability and performance, so it's not worth it. 1. influxdata/influxdb#7185 Closes #23
System info:
influxdb 0.13.0
Steps to reproduce:
derivative
ornon_negative_derivative
over the mean/median/mode(/etc.) of those values, grouping by a short time period, filling withfill(null)
Expected behavior:
The derivative function should fill with nulls where all its inputs are null.
Actual behavior:
The derivative function behaves the same as if
fill(none)
had been used, and suppresses records when its inputs are all null.Additional info:
Seems like it was previously bug reported in #780 but the fix missed these functions.
In practice, the impact of this is incorrect grafana graphs (network usage here):
The text was updated successfully, but these errors were encountered: