Missing data on the graph

Asked by Evgeni

When my graph is viewed in 24's hours scope resolution there is a gap between 14:00 and 14:15. But when I change the resolution and viewing the graph from 1:30 pm untill 2:30 pm there is no gap.

I'm collecting metrics once in a minute, every minute.
My conf file is:

[system_data]
priority = 100
pattern = ^system\.
retentions = 60:1440,900:8640

[system_data2]
priority = 100
pattern = ^folder2\.subfolder\.
retentions = 300:288,900:8640

[system_data3]
priority = 100
pattern = ^folder2\.
retentions = 60:1440,900:8640

The problem exists only for [system_data3]. [system_data2] looks good.
I checked graphite/storage/log/carbon-cache/updates.log. There were 60 entries/hour for each statistic.
Client and server are running on the same machine, so there is no network issue.

Please advise.
Thanks in advance.

Question information

Language:
English Edit question
Status:
Answered
For:
Graphite Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
chrismd (chrismd) said :
#1

That is strange, can you post a screenshot? Also it would be good to check and see what is stored in the actual wsp files, to do this just copy the graph url and add '&format=csv' to the query-string. You should get back a csv document with a row for each datapoint, if there are rows without values then there is missing data. But if the data is there for every row then it must be a rendering issue. Please include the url parameters used for the graphs screenshots.

Revision history for this message
Evgeni (evgeni-evgeni) said :
#2

Thanks for reponse.
here is a link to the 24 hours period:
http://picasaweb.google.com/evgeni.evgeni/Graphite?authkey=Gv1sRgCMXtjfuE4Je3cQ#5548610363502752562
and for 1 hour period:
http://picasaweb.google.com/evgeni.evgeni/Graphite?authkey=Gv1sRgCMXtjfuE4Je3cQ#5548610367191668194
as you can see, on the 1 hour period graph there is data for every minute.

For some reason adding '&format=csv' to the query-string didn't generate csv document.
I did the following:
-Right click on the graph.
-Properties
-Copied Address
-Pasted it and appended '&format=csv' to the URL.

and no csv document was created. Have I missed something?

thanks.

Revision history for this message
Nicholas Leskiw (nleskiw) said :
#3

Try adding &rawData=true and look at the numbers.

-Nick

On Dec 9, 2010, at 4:10 AM, Evgeni <email address hidden> wrote:

> Question #136843 on Graphite changed:
> https://answers.launchpad.net/graphite/+question/136843
>
> Status: Needs information => Open
>
> Evgeni gave more information on the question:
> Thanks for reponse.
> here is a link to the 24 hours period:
> http://picasaweb.google.com/evgeni.evgeni/Graphite?authkey=Gv1sRgCMXtjfuE4Je3cQ#5548610363502752562
> and for 1 hour period:
> http://picasaweb.google.com/evgeni.evgeni/Graphite?authkey=Gv1sRgCMXtjfuE4Je3cQ#5548610367191668194
> as you can see, on the 1 hour period graph there is data for every minute.
>
> For some reason adding '&format=csv' to the query-string didn't generate csv document.
> I did the following:
> -Right click on the graph.
> -Properties
> -Copied Address
> -Pasted it and appended '&format=csv' to the URL.
>
> and no csv document was created. Have I missed something?
>
> thanks.
>
> --
> You received this question notification because you are a member of
> graphite-dev, which is an answer contact for Graphite.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~graphite-dev
> Post to : <email address hidden>
> Unsubscribe : https://launchpad.net/~graphite-dev
> More help : https://help.launchpad.net/ListHelp

Revision history for this message
Evgeni (evgeni-evgeni) said :
#4

Thank you, Nick. This helped me to get graph into text datapoints, but the problem is still exists.
Here it is:
hour=1; min=0; for i in `curl "http://someurl/render/?width=1449&height=708&_salt=1291959523.717&target=stat&rawData=true&from=01:00_20101209&until=00:00_20101210" | tr '|' '\n' | grep -v stat | grep -v stat | tr ',' '\n'`; do printf "%02d:%02d\t%s\n" $hour $min $i; let min=$min+15; if (($min==60)); then let hour=$hour+1; let min=0;fi; done
  % Total % Received % Xferd Average Speed Time Time Time Current
                                 Dload Upload Total Spent Left Speed
100 1204 0 1204 0 0 8177 0 --:--:-- --:--:-- --:--:-- 0
01:00 5662.66666667
01:15 4972.73333333
01:30 4260.46666667
01:45 3691.33333333
02:00 2866.93333333
02:15 2434.53333333
02:30 2148.4
02:45 2053.73333333
03:00 1815.26666667
03:15 1583.46666667
03:30 1485.28571429
03:45 1509.26666667
04:00 1696.46666667
04:15 1508.66666667
04:30 1327.0
04:45 1642.4
05:00 1658.06666667
05:15 1681.0
05:30 1710.2
05:45 1998.13333333
06:00 2043.73333333
06:15 2241.13333333
06:30 2451.66666667
06:45 3074.73333333
07:00 3265.86666667
07:15 3615.73333333
07:30 3866.6
07:45 5067.06666667
08:00 5470.2
08:15 6216.93333333
08:30 6874.66666667
08:45 8121.73333333
09:00 7847.73333333
09:15 7774.6
09:30 8062.73333333
09:45 9437.0
10:00 9313.53333333
10:15 8931.13333333
10:30 8885.4
10:45 9565.26666667
11:00 9304.06666667
11:15 9319.6
11:30 9282.06666667
11:45 9524.86666667
12:00 10064.0666667
12:15 9471.06666667
12:30 9571.0
12:45 9881.66666667
13:00 10076.5333333
13:15 10198.4666667
13:30 10592.8
13:45 11160.0666667
14:00 None
14:15 11618.9333333
14:30 10874.4666667
14:45 13348.0
15:00 13999.8
15:15 15097.5333333
15:30 16199.0666667
15:45 16823.5333333
16:00 16794.2666667
16:15 16751.8666667
16:30 16985.4
16:45 17683.2666667
17:00 17770.8666667
17:15 18157.6
17:30 18791.1333333
17:45 19943.0
18:00 20340.0
18:15 20318.9333333
18:30 20700.5333333
18:45 21474.2666667
19:00 21640.6
19:15 22279.2666667
19:30 21809.0666667
19:45 22045.3333333
20:00 22694.6
20:15 21890.9333333
20:30 22349.4666667
20:45 22645.0
21:00 22423.8666667
21:15 22554.7333333
21:30 22251.2666667
21:45 22956.0666667
22:00 21998.4
22:15 20746.7333333
22:30 19018.4
22:45 17905.8666667
23:00 16560.2
23:15 15500.1333333
23:30 13765.0
23:45 12272.0

As you can see, looks like the data for 14:00 is missing - the value is 'None'. But I looked into /graphite/storage/log/carbon-cache/updates.log.2010_12_9 file:
for i in `seq -w 0 20`; do cat /graphite/storage/log/carbon-cache/updates.log.2010_12_9 | grep "09/12/2010 14:$i:" | grep stat; done
09/12/2010 14:01:20 :: wrote 1 datapoints for stat in 0.00015 seconds
09/12/2010 14:02:05 :: wrote 1 datapoints for stat in 0.00012 seconds
09/12/2010 14:02:35 :: wrote 1 datapoints for stat in 0.00012 seconds
09/12/2010 14:03:05 :: wrote 1 datapoints for stat in 0.00018 seconds
09/12/2010 14:04:06 :: wrote 1 datapoints for stat in 0.00012 seconds
09/12/2010 14:05:05 :: wrote 1 datapoints for stat in 0.00013 seconds
09/12/2010 14:06:05 :: wrote 1 datapoints for stat in 0.00013 seconds
09/12/2010 14:07:05 :: wrote 1 datapoints for stat in 0.00013 seconds
09/12/2010 14:08:05 :: wrote 1 datapoints for stat in 0.00014 seconds
09/12/2010 14:09:05 :: wrote 1 datapoints for stat in 0.00014 seconds
09/12/2010 14:10:06 :: wrote 1 datapoints for stat in 0.00014 seconds
09/12/2010 14:11:06 :: wrote 1 datapoints for stat in 0.00018 seconds
09/12/2010 14:12:05 :: wrote 1 datapoints for stat in 0.00024 seconds
09/12/2010 14:13:05 :: wrote 1 datapoints for stat in 0.00015 seconds
09/12/2010 14:14:05 :: wrote 1 datapoints for stat in 0.00016 seconds
09/12/2010 14:15:06 :: wrote 1 datapoints for stat in 0.00014 seconds
09/12/2010 14:16:05 :: wrote 1 datapoints for stat in 0.00012 seconds
09/12/2010 14:17:05 :: wrote 1 datapoints for stat in 0.00013 seconds
09/12/2010 14:18:05 :: wrote 1 datapoints for stat in 0.00012 seconds
09/12/2010 14:19:05 :: wrote 1 datapoints for stat in 0.00013 seconds
09/12/2010 14:20:06 :: wrote 1 datapoints for stat in 0.00019 seconds

Data for 14:00 was inserted into graphite at 14:01:20.
Data for 14:01 was inserted into graphite at 14:02:05.
Data for 14:02 was inserted into graphite at 14:02:35.
and so on...

The similar happens at 16, 18 and so on (because of some system limitations):
09/12/2010 16:01:42 :: wrote 1 datapoints for stat in 0.00014 seconds
09/12/2010 16:02:05 :: wrote 1 datapoints for stat in 0.00011 seconds
09/12/2010 16:03:02 :: wrote 1 datapoints for stat in 0.00012 seconds
09/12/2010 16:03:05 :: wrote 1 datapoints for stat in 0.00014 seconds
09/12/2010 16:04:06 :: wrote 1 datapoints for stat in 0.00012 seconds
09/12/2010 16:05:05 :: wrote 1 datapoints for stat in 0.00013 seconds
09/12/2010 16:06:06 :: wrote 1 datapoints for stat in 0.00012 seconds
09/12/2010 16:07:05 :: wrote 1 datapoints for stat in 0.00020 seconds
09/12/2010 16:08:06 :: wrote 1 datapoints for stat in 0.00013 seconds
09/12/2010 16:09:06 :: wrote 1 datapoints for stat in 0.00014 seconds
But for 16:00 the graph's value isn't 'None', it is 16794.2666667.

In addition, I can say, that my application also logging each event that being sent to graphite and times in my application log and in updates.log.2010_12_9 file are the same.

Thanks in advance!

Revision history for this message
Nicholas Leskiw (nleskiw) said :
#5

Change the dates in your URL to that 15 minute period and don't run any script on it. Sanitize and post the results.

-Nick

On Dec 10, 2010, at 5:04 AM, Evgeni <email address hidden> wrote:

> Question #136843 on Graphite changed:
> https://answers.launchpad.net/graphite/+question/136843
>
> Status: Answered => Open
>
> Evgeni is still having a problem:
> Thank you, Nick. This helped me to get graph into text datapoints, but the problem is still exists.
> Here it is:
> hour=1; min=0; for i in `curl "http://someurl/render/?width=1449&height=708&_salt=1291959523.717&target=stat&rawData=true&from=01:00_20101209&until=00:00_20101210" | tr '|' '\n' | grep -v stat | grep -v stat | tr ',' '\n'`; do printf "%02d:%02d\t%s\n" $hour $min $i; let min=$min+15; if (($min==60)); then let hour=$hour+1; let min=0;fi; done
> % Total % Received % Xferd Average Speed Time Time Time Current
> Dload Upload Total Spent Left Speed
> 100 1204 0 1204 0 0 8177 0 --:--:-- --:--:-- --:--:-- 0
> 01:00 5662.66666667
> 01:15 4972.73333333
> 01:30 4260.46666667
> 01:45 3691.33333333
> 02:00 2866.93333333
> 02:15 2434.53333333
> 02:30 2148.4
> 02:45 2053.73333333
> 03:00 1815.26666667
> 03:15 1583.46666667
> 03:30 1485.28571429
> 03:45 1509.26666667
> 04:00 1696.46666667
> 04:15 1508.66666667
> 04:30 1327.0
> 04:45 1642.4
> 05:00 1658.06666667
> 05:15 1681.0
> 05:30 1710.2
> 05:45 1998.13333333
> 06:00 2043.73333333
> 06:15 2241.13333333
> 06:30 2451.66666667
> 06:45 3074.73333333
> 07:00 3265.86666667
> 07:15 3615.73333333
> 07:30 3866.6
> 07:45 5067.06666667
> 08:00 5470.2
> 08:15 6216.93333333
> 08:30 6874.66666667
> 08:45 8121.73333333
> 09:00 7847.73333333
> 09:15 7774.6
> 09:30 8062.73333333
> 09:45 9437.0
> 10:00 9313.53333333
> 10:15 8931.13333333
> 10:30 8885.4
> 10:45 9565.26666667
> 11:00 9304.06666667
> 11:15 9319.6
> 11:30 9282.06666667
> 11:45 9524.86666667
> 12:00 10064.0666667
> 12:15 9471.06666667
> 12:30 9571.0
> 12:45 9881.66666667
> 13:00 10076.5333333
> 13:15 10198.4666667
> 13:30 10592.8
> 13:45 11160.0666667
> 14:00 None
> 14:15 11618.9333333
> 14:30 10874.4666667
> 14:45 13348.0
> 15:00 13999.8
> 15:15 15097.5333333
> 15:30 16199.0666667
> 15:45 16823.5333333
> 16:00 16794.2666667
> 16:15 16751.8666667
> 16:30 16985.4
> 16:45 17683.2666667
> 17:00 17770.8666667
> 17:15 18157.6
> 17:30 18791.1333333
> 17:45 19943.0
> 18:00 20340.0
> 18:15 20318.9333333
> 18:30 20700.5333333
> 18:45 21474.2666667
> 19:00 21640.6
> 19:15 22279.2666667
> 19:30 21809.0666667
> 19:45 22045.3333333
> 20:00 22694.6
> 20:15 21890.9333333
> 20:30 22349.4666667
> 20:45 22645.0
> 21:00 22423.8666667
> 21:15 22554.7333333
> 21:30 22251.2666667
> 21:45 22956.0666667
> 22:00 21998.4
> 22:15 20746.7333333
> 22:30 19018.4
> 22:45 17905.8666667
> 23:00 16560.2
> 23:15 15500.1333333
> 23:30 13765.0
> 23:45 12272.0
>
> As you can see, looks like the data for 14:00 is missing - the value is 'None'. But I looked into /graphite/storage/log/carbon-cache/updates.log.2010_12_9 file:
> for i in `seq -w 0 20`; do cat /graphite/storage/log/carbon-cache/updates.log.2010_12_9 | grep "09/12/2010 14:$i:" | grep stat; done
> 09/12/2010 14:01:20 :: wrote 1 datapoints for stat in 0.00015 seconds
> 09/12/2010 14:02:05 :: wrote 1 datapoints for stat in 0.00012 seconds
> 09/12/2010 14:02:35 :: wrote 1 datapoints for stat in 0.00012 seconds
> 09/12/2010 14:03:05 :: wrote 1 datapoints for stat in 0.00018 seconds
> 09/12/2010 14:04:06 :: wrote 1 datapoints for stat in 0.00012 seconds
> 09/12/2010 14:05:05 :: wrote 1 datapoints for stat in 0.00013 seconds
> 09/12/2010 14:06:05 :: wrote 1 datapoints for stat in 0.00013 seconds
> 09/12/2010 14:07:05 :: wrote 1 datapoints for stat in 0.00013 seconds
> 09/12/2010 14:08:05 :: wrote 1 datapoints for stat in 0.00014 seconds
> 09/12/2010 14:09:05 :: wrote 1 datapoints for stat in 0.00014 seconds
> 09/12/2010 14:10:06 :: wrote 1 datapoints for stat in 0.00014 seconds
> 09/12/2010 14:11:06 :: wrote 1 datapoints for stat in 0.00018 seconds
> 09/12/2010 14:12:05 :: wrote 1 datapoints for stat in 0.00024 seconds
> 09/12/2010 14:13:05 :: wrote 1 datapoints for stat in 0.00015 seconds
> 09/12/2010 14:14:05 :: wrote 1 datapoints for stat in 0.00016 seconds
> 09/12/2010 14:15:06 :: wrote 1 datapoints for stat in 0.00014 seconds
> 09/12/2010 14:16:05 :: wrote 1 datapoints for stat in 0.00012 seconds
> 09/12/2010 14:17:05 :: wrote 1 datapoints for stat in 0.00013 seconds
> 09/12/2010 14:18:05 :: wrote 1 datapoints for stat in 0.00012 seconds
> 09/12/2010 14:19:05 :: wrote 1 datapoints for stat in 0.00013 seconds
> 09/12/2010 14:20:06 :: wrote 1 datapoints for stat in 0.00019 seconds
>
> Data for 14:00 was inserted into graphite at 14:01:20.
> Data for 14:01 was inserted into graphite at 14:02:05.
> Data for 14:02 was inserted into graphite at 14:02:35.
> and so on...
>
> The similar happens at 16, 18 and so on (because of some system limitations):
> 09/12/2010 16:01:42 :: wrote 1 datapoints for stat in 0.00014 seconds
> 09/12/2010 16:02:05 :: wrote 1 datapoints for stat in 0.00011 seconds
> 09/12/2010 16:03:02 :: wrote 1 datapoints for stat in 0.00012 seconds
> 09/12/2010 16:03:05 :: wrote 1 datapoints for stat in 0.00014 seconds
> 09/12/2010 16:04:06 :: wrote 1 datapoints for stat in 0.00012 seconds
> 09/12/2010 16:05:05 :: wrote 1 datapoints for stat in 0.00013 seconds
> 09/12/2010 16:06:06 :: wrote 1 datapoints for stat in 0.00012 seconds
> 09/12/2010 16:07:05 :: wrote 1 datapoints for stat in 0.00020 seconds
> 09/12/2010 16:08:06 :: wrote 1 datapoints for stat in 0.00013 seconds
> 09/12/2010 16:09:06 :: wrote 1 datapoints for stat in 0.00014 seconds
> But for 16:00 the graph's value isn't 'None', it is 16794.2666667.
>
> In addition, I can say, that my application also logging each event that
> being sent to graphite and times in my application log and in
> updates.log.2010_12_9 file are the same.
>
> Thanks in advance!
>
> You received this question notification because you are a member of
> graphite-dev, which is an answer contact for Graphite.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~graphite-dev
> Post to : <email address hidden>
> Unsubscribe : https://launchpad.net/~graphite-dev
> More help : https://help.launchpad.net/ListHelp

Revision history for this message
Evgeni (evgeni-evgeni) said :
#6

Here it is:

curl "http://someurl/render/?width=1449&height=708&_salt=1291959523.717&target=stat&rawData=true&from=14:00_20101209&until=14:15_20101209"
statistics.srp.login.total_1min,1291896000,1291896900,900|None

The problem is, that I cannot get the datapoints in larger time-resolution, because of configuration I posted in the first post.
But here is today's data:

curl "http://someurl/render/?width=1449&height=708&_salt=1291959523.717&target=stat&rawData=true&from=14:00_20101210&until=14:15_20101210"
stat,1291982400,1291983300,60|11821.0,11812.0,11873.0,11931.0,11910.0,12050.0,11843.0,11824.0,12041.0,11855.0,12130.0,12325.0,12734.0,49817.0,14341.0
As you can see everything is fine
and I'm sure that tomorrow the url - http://someurl/render/?width=1449&height=708&_salt=1291959523.717&target=stat&rawData=true&from=14:00_20101210&until=14:15_20101210
will return the 'None' value.

Thanks.

Revision history for this message
Evgeni (evgeni-evgeni) said :
#7
Revision history for this message
chrismd (chrismd) said :
#8

I think the problem is related to the fact that you have multiple levels of precision, possibly a bug in whisper. Have you seen any other occurrences of this problem? If so, is there any regularity to them? As for the problem with &format=csv not working for you, that feature was added to trunk a few months ago but I don't believe it is in 0.9.5, what version are you running?

Revision history for this message
Evgeni (evgeni-evgeni) said :
#9

No, I didn't see another occurrences of this problem.
I'm almost sure, that the version I'm using is 0.9.5...

Thanks.

Can you help with this problem?

Provide an answer of your own, or ask Evgeni for more information if necessary.

To post a message you must log in.