Closed TimWhalen closed 6 years ago
I packaged and tested with graphite-web 1.1.3 with the same result so I updated the version in this issue.
The cause of this issue is that prefetched data in webapp/graphite/render/datalib.py is in a generator, converting it to a list in the cache resolves my issue: https://github.com/graphite-project/graphite-web/pull/2322
Merged. Thanks!
OS: centos-7 python: 2.7.5 django: 1.11 graphite-web: 1.1.3 rrdtool: 1.7.0
There are three queries in the examples below. Two are raw data from rrds and the third is a divideSeries of the first two. When you request the raw data or the divideSeries you get the correct results. If you request both raw data and the divideSeries you get null values or no datapoints depending on the order of targets:
raw data
curl 'http://xvba-e25.xv.dc.openx.org/graphite/render?format=json&from=1530050400&until=1530051000&target=market_opportunity_svc.md.internal_qualify_prequalify_micros.host.xvbd-e62.counter.value&target=market_opportunity_svc.md.get_opportunities_success.host.xvbd-e62.counter.value'
divideSeries
curl 'http://xvba-e25.xv.dc.openx.org/graphite/render?format=json&from=1530050400&until=1530051000&target=divideSeries(market_opportunity_svc.md.internal_qualify_prequalify_micros.host.xvbd-e62.counter.value,market_opportunity_svc.md.get_opportunities_success.host.xvbd-e62.counter.value)'
raw data then divideSeries
curl 'http://xvba-e25.xv.dc.openx.org/graphite/render?format=json&from=1530050400&until=1530051000&target=market_opportunity_svc.md.internal_qualify_prequalify_micros.host.xvbd-e62.counter.value&target=divideSeries(market_opportunity_svc.md.internal_qualify_prequalify_micros.host.xvbd-e62.counter.value,market_opportunity_svc.md.get_opportunities_success.host.xvbd-e62.counter.value)'
divideSeries then raw data
curl 'http://xvba-e25.xv.dc.openx.org/graphite/render?format=json&from=1530050400&until=1530051000&target=divideSeries(market_opportunity_svc.md.internal_qualify_prequalify_micros.host.xvbd-e62.counter.value,market_opportunity_svc.md.get_opportunities_success.host.xvbd-e62.counter.value)&target=market_opportunity_svc.md.internal_qualify_prequalify_micros.host.xvbd-e62.counter.value'
We saw similar behavior with graphite-api last year and we've been sticking with graphite-web 0.10.0alpha5 until we can resolve this issue.