Render bug with drawAsInfinite when areaMode=stacked #31

Closed
obfuscurity opened this Issue Jul 19, 2012 · 8 comments

Comments

Projects
None yet
3 participants
@obfuscurity
Member

obfuscurity commented Jul 19, 2012

@wfarr encountered a render bug today when enabling areaMode=stacked on a chart using drawAsInfinite(). As you can see, in normal lineMode it looks as you might expect. But with stacking enabled it renders a vertical every ~10 seconds.

target=substr(exclude(sortByMinima(resque.queue.*),"resque.queue.*fs*"),2)
target=lineWidth(alias(color(drawAsInfinite(deploy.foo.*.*),"red"),"deploys"),0.5)
from=-30minutes
title=queue size
areaAlpha=0.5
template=plain
hideLegend=true

lineMode

target=substr(exclude(sortByMinima(resque.queue.*),"resque.queue.*fs*"),2)
target=lineWidth(alias(color(drawAsInfinite(deploy.foo.*.*),"red"),"deploys"),0.5)
from=-30minutes
title=queue size
areaAlpha=0.5
template=plain
hideLegend=true
areaMode=stacked

areaMode=stacked

@mattpascoe

This comment has been minimized.

Show comment Hide comment
@mattpascoe

mattpascoe Aug 8, 2012

I can confirm having this same problem. Fix please and thank you!

I can confirm having this same problem. Fix please and thank you!

@mleinart

This comment has been minimized.

Show comment Hide comment
@mleinart

mleinart Mar 14, 2013

Member

I've been struggling to reproduce this in 0.9.x, 0.9.10, and 0.9.9. I know it's a pain but a sample render URL along with some whisper files would be helpful here

Member

mleinart commented Mar 14, 2013

I've been struggling to reproduce this in 0.9.x, 0.9.10, and 0.9.9. I know it's a pain but a sample render URL along with some whisper files would be helpful here

@obfuscurity

This comment has been minimized.

Show comment Hide comment
@obfuscurity

obfuscurity Mar 14, 2013

Member

Yes, I'm still able to reproduce this with 0.9.10. Here is a graph similar to the one above.

target=derivative(sumSeries(substr(exclude(sortByMinima(resque.queue.*),"resque.queue.*fs*"),2)))
target=alias(color(drawAsInfinite(deploy.foo.*.*),"red"),"deploys")
areaAlpha=0.5
from=-90mins
hideLegend=true
areaMode=stacked
width=777
height=413
format=png
template=plain

render-bug1

As a point of reference, I also rendered the graph again without the resque metric and areaMode disabled so you can see we only have a single deploy during this window.

target=alias(color(drawAsInfinite(deploy.foo.*.*),"red"),"deploys")
areaAlpha=0.5
from=-90min
hideLegend=true
width=777
height=413
format=png
template=plain

render-bug2

I will try to get you the whisper files shortly.

Member

obfuscurity commented Mar 14, 2013

Yes, I'm still able to reproduce this with 0.9.10. Here is a graph similar to the one above.

target=derivative(sumSeries(substr(exclude(sortByMinima(resque.queue.*),"resque.queue.*fs*"),2)))
target=alias(color(drawAsInfinite(deploy.foo.*.*),"red"),"deploys")
areaAlpha=0.5
from=-90mins
hideLegend=true
areaMode=stacked
width=777
height=413
format=png
template=plain

render-bug1

As a point of reference, I also rendered the graph again without the resque metric and areaMode disabled so you can see we only have a single deploy during this window.

target=alias(color(drawAsInfinite(deploy.foo.*.*),"red"),"deploys")
areaAlpha=0.5
from=-90min
hideLegend=true
width=777
height=413
format=png
template=plain

render-bug2

I will try to get you the whisper files shortly.

@obfuscurity

This comment has been minimized.

Show comment Hide comment
@obfuscurity

obfuscurity Mar 14, 2013

Member

In an effort to pare down the number of targets so I don't need to hand over ~50 whisper files, I've simplified the URL quite a bit while still being able to reproduce the issue.

target=resque.queue.low
target=drawAsInfinite(deploy.foo.*.*)
from=-3h
hideLegend=true
areaMode=stacked
width=777
height=413

render-bug3

target=drawAsInfinite(deploy.foo.*.*)
from=-3h
hideLegend=true
width=777
height=415

render-bug4

Member

obfuscurity commented Mar 14, 2013

In an effort to pare down the number of targets so I don't need to hand over ~50 whisper files, I've simplified the URL quite a bit while still being able to reproduce the issue.

target=resque.queue.low
target=drawAsInfinite(deploy.foo.*.*)
from=-3h
hideLegend=true
areaMode=stacked
width=777
height=413

render-bug3

target=drawAsInfinite(deploy.foo.*.*)
from=-3h
hideLegend=true
width=777
height=415

render-bug4

@obfuscurity

This comment has been minimized.

Show comment Hide comment
@obfuscurity

obfuscurity Mar 14, 2013

Member

@mleinart I should be able to get you the whisper file from resque.queue.low but I doubt I'll be able to get you the whisper files used for deploy.foo.*.* as those number well into 6,000 individual files and contain a lot of internal deploy info I'm sure we wouldn't want shared externally. Thoughts?

Member

obfuscurity commented Mar 14, 2013

@mleinart I should be able to get you the whisper file from resque.queue.low but I doubt I'll be able to get you the whisper files used for deploy.foo.*.* as those number well into 6,000 individual files and contain a lot of internal deploy info I'm sure we wouldn't want shared externally. Thoughts?

@mleinart

This comment has been minimized.

Show comment Hide comment
@mleinart

mleinart Mar 14, 2013

Member

@obfuscurity Yeah, I think that's fine - I'm guessing it's something about the other metrics that's blocking me from reproducing it. The deploy metrics should be straightforward to reproduce. Honestly a format=json might've been good enough but it'll save me some work to see the whisper files.

Can you give me the storage-schemas blurb for the deploys though? I take it those have a value of '1'?

Member

mleinart commented Mar 14, 2013

@obfuscurity Yeah, I think that's fine - I'm guessing it's something about the other metrics that's blocking me from reproducing it. The deploy metrics should be straightforward to reproduce. Honestly a format=json might've been good enough but it'll save me some work to see the whisper files.

Can you give me the storage-schemas blurb for the deploys though? I take it those have a value of '1'?

@obfuscurity

This comment has been minimized.

Show comment Hide comment
@obfuscurity

obfuscurity Mar 14, 2013

Member

The deploy metrics use our default policy. I assume they're using a value of 1 but I really don't know for certain if there are any exceptions.

[default]
pattern = .*
retentions = 10:6h,60:7d,600:5y
Member

obfuscurity commented Mar 14, 2013

The deploy metrics use our default policy. I assume they're using a value of 1 but I really don't know for certain if there are any exceptions.

[default]
pattern = .*
retentions = 10:6h,60:7d,600:5y

mleinart added a commit that referenced this issue Mar 15, 2013

Fix areaMode=stacked with drawAsInfinite()
Another messy edge case. Closes #31

@mleinart mleinart closed this in c202191 Mar 15, 2013

@mleinart

This comment has been minimized.

Show comment Hide comment
@mleinart

mleinart Mar 15, 2013

Member

Finally reproduced after creating a few thousand 'deploy' metrics for the wildcard and using transformNull() to set them to 0.

Added another messy if clause to skip drawAsInfinite metrics when computing the stack to resolve :/

Member

mleinart commented Mar 15, 2013

Finally reproduced after creating a few thousand 'deploy' metrics for the wildcard and using transformNull() to set them to 0.

Added another messy if clause to skip drawAsInfinite metrics when computing the stack to resolve :/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment