← Back to team overview

graphite-dev team mailing list archive

[Question #168072]: Data hidden when viewed across retention boundaries?

 

New question #168072 on Graphite:
https://answers.launchpad.net/graphite/+question/168072

Question is about Whisper retention and render behavior, specifically if data is hidden when viewed across retention boundaries?

I am using the default retention policy.


[everything-1_min_30days-5_min_1_year-15_mins-2years]
priority = 100
pattern = .*
retentions = 60:43200,300:105120,900:70080

I currently started putting in data for deployment events, which are 1-4 per day (render with drawAsInfinite).  I noticed that if I extend the range of time to view these events beyond the first part of the retention policy (1min for 30 days) , the data in the first part of the policy will not render.  I can however render data that has the exact same policy, but has effectively continuous data (e.g. HTTP response rates).  It should be noted that the "value" saved for the deployment event is "0.1", as I found using something like "1" was squashing my Y-axis when using small values that are less than 1 such as HTTP response rates. 

 I also used " whisper-fetch.py" to inspect the data in the wsp files and found that using the "--from=" option to query further back in time changed the default expression on the retention policy.   

Example:

Last 24 hours gives 1 min resolution:
whisper-fetch.py --pretty ./blah_test.wsp | tail -3
Mon Aug 15 14:37:00 2011        None
Mon Aug 15 14:38:00 2011        None
Mon Aug 15 14:39:00 2011        None

more than 24 hours gives 5 min resolution.
whisper-fetch.py --from=1310000000 --pretty ./blah_test.wsp | tail -3
Mon Aug 15 14:25:00 2011        None
Mon Aug 15 14:30:00 2011        None
Mon Aug 15 14:35:00 2011        None

IT appears then that when a query is made against a wsp file, that the data returned to match the "oldest" part of the data across the set.  

I am wondering what other behavior might be going on here that is causing data to be hidden when compared to "continuous"  data?  

Any details, thoughts, suggestions would be welcome.
Should I not be using a small value like "0.1"?  Is this getting rolled up / discarded  in some way?
Should I use a retention policy that is static across a longer time span, say 60 min for 1 year?

IT would be good to have at least 1 min retention later to compare the impacts on releases on other parts of the system.

Thanks in advance for any ideas.








-- 
You received this question notification because you are a member of
graphite-dev, which is an answer contact for Graphite.