How do i create Graphs, that show the aggregation fuzzyness?

Andreas Schuldei <[email protected]> Fri, 13 Oct 2017 06:51:00 +0000
Newsgroups gmane.comp.db.rrdtool.user
Message-ID <CAEyJ1OKZmnwwakthc7SODW=+AyoNVTj9TNTGLAMDzD2KvWfSPw@mail.gmail.com>
--===============5498036963989186881==
Content-Type: multipart/alternative; boundary="94eb2c1b56800a0b27055b6815b4"

--94eb2c1b56800a0b27055b6815b4
Content-Type: text/plain; charset="UTF-8"

Hi,

Some time ago I saw graphs, that indicated the MIN, AVG and MAX value in
the graph with help of shaded stacked areas between MIN and MAX, and AVG
plotted in a line. I imagine this should best be done with translucent
colors, too, in case of several overlapping values.

However i can not find an example for this. Can you please help me and
point me to a good example(s)?


BTW, Collectd created the rrd file like this (see below) - is that the
right layout and the proper layout and usable consolidation function for
showing the aggregation fuzzyness?

rrdtool info counter-Kessel_Durchsatz.rrd
filename = "counter-Kessel_Durchsatz.rrd"
rrd_version = "0003"
step = 10
last_update = 1507841723
header_size = 4744
ds[value].index = 0
ds[value].type = "COUNTER"
ds[value].minimal_heartbeat = 20
ds[value].min = 0.0000000000e+00
ds[value].max = 5.0000000000e+00
ds[value].last_ds = "80990"
ds[value].value = 0.0000000000e+00
ds[value].unknown_sec = 0
rra[0].cf = "AVERAGE"
rra[0].rows = 2400
rra[0].cur_row = 494
rra[0].pdp_per_row = 1
rra[0].xff = 1.0000000000e-01
rra[0].cdp_prep[0].value = NaN
rra[0].cdp_prep[0].unknown_datapoints = 0
rra[1].cf = "MIN"
rra[1].rows = 2400
rra[1].cur_row = 1091
rra[1].pdp_per_row = 1
rra[1].xff = 1.0000000000e-01
rra[1].cdp_prep[0].value = NaN
rra[1].cdp_prep[0].unknown_datapoints = 0
rra[2].cf = "MAX"
rra[2].rows = 2400
rra[2].cur_row = 848
rra[2].pdp_per_row = 1
rra[2].xff = 1.0000000000e-01
rra[2].cdp_prep[0].value = NaN
rra[2].cdp_prep[0].unknown_datapoints = 0
rra[3].cf = "AVERAGE"
rra[3].rows = 2880
rra[3].cur_row = 828
rra[3].pdp_per_row = 3
rra[3].xff = 1.0000000000e-01
rra[3].cdp_prep[0].value = 0.0000000000e+00
rra[3].cdp_prep[0].unknown_datapoints = 0
rra[4].cf = "MIN"
rra[4].rows = 2880
rra[4].cur_row = 1538
rra[4].pdp_per_row = 3
rra[4].xff = 1.0000000000e-01
rra[4].cdp_prep[0].value = 0.0000000000e+00
rra[4].cdp_prep[0].unknown_datapoints = 0
rra[5].cf = "MAX"
rra[5].rows = 2880
rra[5].cur_row = 692
rra[5].pdp_per_row = 3
rra[5].xff = 1.0000000000e-01
rra[5].cdp_prep[0].value = 0.0000000000e+00
rra[5].cdp_prep[0].unknown_datapoints = 0
rra[6].cf = "AVERAGE"
rra[6].rows = 2420
rra[6].cur_row = 251
rra[6].pdp_per_row = 25
rra[6].xff = 1.0000000000e-01
rra[6].cdp_prep[0].value = 0.0000000000e+00
rra[6].cdp_prep[0].unknown_datapoints = 0
rra[7].cf = "MIN"
rra[7].rows = 2420
rra[7].cur_row = 820
rra[7].pdp_per_row = 25
rra[7].xff = 1.0000000000e-01
rra[7].cdp_prep[0].value = 0.0000000000e+00
rra[7].cdp_prep[0].unknown_datapoints = 0
rra[8].cf = "MAX"
rra[8].rows = 2420
rra[8].cur_row = 885
rra[8].pdp_per_row = 25
rra[8].xff = 1.0000000000e-01
rra[8].cdp_prep[0].value = 0.0000000000e+00
rra[8].cdp_prep[0].unknown_datapoints = 0
rra[9].cf = "AVERAGE"
rra[9].rows = 2413
rra[9].cur_row = 203
rra[9].pdp_per_row = 111
rra[9].xff = 1.0000000000e-01
rra[9].cdp_prep[0].value = 0.0000000000e+00
rra[9].cdp_prep[0].unknown_datapoints = 0
rra[10].cf = "MIN"
rra[10].rows = 2413
rra[10].cur_row = 189
rra[10].pdp_per_row = 111
rra[10].xff = 1.0000000000e-01
rra[10].cdp_prep[0].value = 0.0000000000e+00
rra[10].cdp_prep[0].unknown_datapoints = 0
rra[11].cf = "MAX"
rra[11].rows = 2413
rra[11].cur_row = 926
rra[11].pdp_per_row = 111
rra[11].xff = 1.0000000000e-01
rra[11].cdp_prep[0].value = 0.0000000000e+00
rra[11].cdp_prep[0].unknown_datapoints = 0
rra[12].cf = "AVERAGE"
rra[12].rows = 2402
rra[12].cur_row = 266
rra[12].pdp_per_row = 1317
rra[12].xff = 1.0000000000e-01
rra[12].cdp_prep[0].value = 0.0000000000e+00
rra[12].cdp_prep[0].unknown_datapoints = 0
rra[13].cf = "MIN"
rra[13].rows = 2402
rra[13].cur_row = 2096
rra[13].pdp_per_row = 1317
rra[13].xff = 1.0000000000e-01
rra[13].cdp_prep[0].value = 0.0000000000e+00
rra[13].cdp_prep[0].unknown_datapoints = 0
rra[14].cf = "MAX"
rra[14].rows = 2402
rra[14].cur_row = 2324
rra[14].pdp_per_row = 1317
rra[14].xff = 1.0000000000e-01
rra[14].cdp_prep[0].value = 0.0000000000e+00
rra[14].cdp_prep[0].unknown_datapoints = 0
rra[15].cf = "AVERAGE"
rra[15].rows = 2400
rra[15].cur_row = 502
rra[15].pdp_per_row = 13149
rra[15].xff = 1.0000000000e-01
rra[15].cdp_prep[0].value = 0.0000000000e+00
rra[15].cdp_prep[0].unknown_datapoints = 3
rra[16].cf = "MIN"
rra[16].rows = 2400
rra[16].cur_row = 1277
rra[16].pdp_per_row = 13149
rra[16].xff = 1.0000000000e-01
rra[16].cdp_prep[0].value = 0.0000000000e+00
rra[16].cdp_prep[0].unknown_datapoints = 3
rra[17].cf = "MAX"
rra[17].rows = 2400
rra[17].cur_row = 2326
rra[17].pdp_per_row = 13149
rra[17].xff = 1.0000000000e-01
rra[17].cdp_prep[0].value = 0.0000000000e+00
rra[17].cdp_prep[0].unknown_datapoints = 3
rra[18].cf = "AVERAGE"
rra[18].rows = 2400
rra[18].cur_row = 1345
rra[18].pdp_per_row = 39447
rra[18].xff = 1.0000000000e-01
rra[18].cdp_prep[0].value = 0.0000000000e+00
rra[18].cdp_prep[0].unknown_datapoints = 15
rra[19].cf = "MIN"
rra[19].rows = 2400
rra[19].cur_row = 971
rra[19].pdp_per_row = 39447
rra[19].xff = 1.0000000000e-01
rra[19].cdp_prep[0].value = 0.0000000000e+00
rra[19].cdp_prep[0].unknown_datapoints = 15
rra[20].cf = "MAX"
rra[20].rows = 2400
rra[20].cur_row = 2146
rra[20].pdp_per_row = 39447
rra[20].xff = 1.0000000000e-01
rra[20].cdp_prep[0].value = 0.0000000000e+00
rra[20].cdp_prep[0].unknown_datapoints = 15

--94eb2c1b56800a0b27055b6815b4
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Hi,</div><div><br></div><div>Some time ago I saw grap=
hs, that indicated the MIN, AVG and MAX value in the graph with help of sha=
ded stacked areas between MIN and MAX, and AVG plotted in a line. I imagine=
 this should best be done with translucent colors, too, in case of several =
overlapping values.=C2=A0</div><div><br></div><div>However i can not find a=
n example for this. Can you please help me and point me to a good example(s=
)?</div><div><br></div><div><br></div><div>BTW, Collectd created the rrd fi=
le like this (see below) - is that the right layout and the proper layout a=
nd usable consolidation function for showing the aggregation fuzzyness?</di=
v><div><br></div><div>rrdtool info counter-Kessel_Durchsatz.rrd</div><div>f=
ilename =3D &quot;counter-Kessel_Durchsatz.rrd&quot;</div><div>rrd_version =
=3D &quot;0003&quot;</div><div>step =3D 10</div><div>last_update =3D 150784=
1723</div><div>header_size =3D 4744</div><div>ds[value].index =3D 0</div><d=
iv>ds[value].type =3D &quot;COUNTER&quot;</div><div>ds[value].minimal_heart=
beat =3D 20</div><div>ds[value].min =3D 0.0000000000e+00</div><div>ds[value=
].max =3D 5.0000000000e+00</div><div>ds[value].last_ds =3D &quot;80990&quot=
;</div><div>ds[value].value =3D 0.0000000000e+00</div><div>ds[value].unknow=
n_sec =3D 0</div><div>rra[0].cf =3D &quot;AVERAGE&quot;</div><div>rra[0].ro=
ws =3D 2400</div><div>rra[0].cur_row =3D 494</div><div>rra[0].pdp_per_row =
=3D 1</div><div>rra[0].xff =3D 1.0000000000e-01</div><div>rra[0].cdp_prep[0=
].value =3D NaN</div><div>rra[0].cdp_prep[0].unknown_datapoints =3D 0</div>=
<div>rra[1].cf =3D &quot;MIN&quot;</div><div>rra[1].rows =3D 2400</div><div=
>rra[1].cur_row =3D 1091</div><div>rra[1].pdp_per_row =3D 1</div><div>rra[1=
].xff =3D 1.0000000000e-01</div><div>rra[1].cdp_prep[0].value =3D NaN</div>=
<div>rra[1].cdp_prep[0].unknown_datapoints =3D 0</div><div>rra[2].cf =3D &q=
uot;MAX&quot;</div><div>rra[2].rows =3D 2400</div><div>rra[2].cur_row =3D 8=
48</div><div>rra[2].pdp_per_row =3D 1</div><div>rra[2].xff =3D 1.0000000000=
e-01</div><div>rra[2].cdp_prep[0].value =3D NaN</div><div>rra[2].cdp_prep[0=
].unknown_datapoints =3D 0</div><div>rra[3].cf =3D &quot;AVERAGE&quot;</div=
><div>rra[3].rows =3D 2880</div><div>rra[3].cur_row =3D 828</div><div>rra[3=
].pdp_per_row =3D 3</div><div>rra[3].xff =3D 1.0000000000e-01</div><div>rra=
[3].cdp_prep[0].value =3D 0.0000000000e+00</div><div>rra[3].cdp_prep[0].unk=
nown_datapoints =3D 0</div><div>rra[4].cf =3D &quot;MIN&quot;</div><div>rra=
[4].rows =3D 2880</div><div>rra[4].cur_row =3D 1538</div><div>rra[4].pdp_pe=
r_row =3D 3</div><div>rra[4].xff =3D 1.0000000000e-01</div><div>rra[4].cdp_=
prep[0].value =3D 0.0000000000e+00</div><div>rra[4].cdp_prep[0].unknown_dat=
apoints =3D 0</div><div>rra[5].cf =3D &quot;MAX&quot;</div><div>rra[5].rows=
 =3D 2880</div><div>rra[5].cur_row =3D 692</div><div>rra[5].pdp_per_row =3D=
 3</div><div>rra[5].xff =3D 1.0000000000e-01</div><div>rra[5].cdp_prep[0].v=
alue =3D 0.0000000000e+00</div><div>rra[5].cdp_prep[0].unknown_datapoints =
=3D 0</div><div>rra[6].cf =3D &quot;AVERAGE&quot;</div><div>rra[6].rows =3D=
 2420</div><div>rra[6].cur_row =3D 251</div><div>rra[6].pdp_per_row =3D 25<=
/div><div>rra[6].xff =3D 1.0000000000e-01</div><div>rra[6].cdp_prep[0].valu=
e =3D 0.0000000000e+00</div><div>rra[6].cdp_prep[0].unknown_datapoints =3D =
0</div><div>rra[7].cf =3D &quot;MIN&quot;</div><div>rra[7].rows =3D 2420</d=
iv><div>rra[7].cur_row =3D 820</div><div>rra[7].pdp_per_row =3D 25</div><di=
v>rra[7].xff =3D 1.0000000000e-01</div><div>rra[7].cdp_prep[0].value =3D 0.=
0000000000e+00</div><div>rra[7].cdp_prep[0].unknown_datapoints =3D 0</div><=
div>rra[8].cf =3D &quot;MAX&quot;</div><div>rra[8].rows =3D 2420</div><div>=
rra[8].cur_row =3D 885</div><div>rra[8].pdp_per_row =3D 25</div><div>rra[8]=
.xff =3D 1.0000000000e-01</div><div>rra[8].cdp_prep[0].value =3D 0.00000000=
00e+00</div><div>rra[8].cdp_prep[0].unknown_datapoints =3D 0</div><div>rra[=
9].cf =3D &quot;AVERAGE&quot;</div><div>rra[9].rows =3D 2413</div><div>rra[=
9].cur_row =3D 203</div><div>rra[9].pdp_per_row =3D 111</div><div>rra[9].xf=
f =3D 1.0000000000e-01</div><div>rra[9].cdp_prep[0].value =3D 0.0000000000e=
+00</div><div>rra[9].cdp_prep[0].unknown_datapoints =3D 0</div><div>rra[10]=
.cf =3D &quot;MIN&quot;</div><div>rra[10].rows =3D 2413</div><div>rra[10].c=
ur_row =3D 189</div><div>rra[10].pdp_per_row =3D 111</div><div>rra[10].xff =
=3D 1.0000000000e-01</div><div>rra[10].cdp_prep[0].value =3D 0.0000000000e+=
00</div><div>rra[10].cdp_prep[0].unknown_datapoints =3D 0</div><div>rra[11]=
.cf =3D &quot;MAX&quot;</div><div>rra[11].rows =3D 2413</div><div>rra[11].c=
ur_row =3D 926</div><div>rra[11].pdp_per_row =3D 111</div><div>rra[11].xff =
=3D 1.0000000000e-01</div><div>rra[11].cdp_prep[0].value =3D 0.0000000000e+=
00</div><div>rra[11].cdp_prep[0].unknown_datapoints =3D 0</div><div>rra[12]=
.cf =3D &quot;AVERAGE&quot;</div><div>rra[12].rows =3D 2402</div><div>rra[1=
2].cur_row =3D 266</div><div>rra[12].pdp_per_row =3D 1317</div><div>rra[12]=
.xff =3D 1.0000000000e-01</div><div>rra[12].cdp_prep[0].value =3D 0.0000000=
000e+00</div><div>rra[12].cdp_prep[0].unknown_datapoints =3D 0</div><div>rr=
a[13].cf =3D &quot;MIN&quot;</div><div>rra[13].rows =3D 2402</div><div>rra[=
13].cur_row =3D 2096</div><div>rra[13].pdp_per_row =3D 1317</div><div>rra[1=
3].xff =3D 1.0000000000e-01</div><div>rra[13].cdp_prep[0].value =3D 0.00000=
00000e+00</div><div>rra[13].cdp_prep[0].unknown_datapoints =3D 0</div><div>=
rra[14].cf =3D &quot;MAX&quot;</div><div>rra[14].rows =3D 2402</div><div>rr=
a[14].cur_row =3D 2324</div><div>rra[14].pdp_per_row =3D 1317</div><div>rra=
[14].xff =3D 1.0000000000e-01</div><div>rra[14].cdp_prep[0].value =3D 0.000=
0000000e+00</div><div>rra[14].cdp_prep[0].unknown_datapoints =3D 0</div><di=
v>rra[15].cf =3D &quot;AVERAGE&quot;</div><div>rra[15].rows =3D 2400</div><=
div>rra[15].cur_row =3D 502</div><div>rra[15].pdp_per_row =3D 13149</div><d=
iv>rra[15].xff =3D 1.0000000000e-01</div><div>rra[15].cdp_prep[0].value =3D=
 0.0000000000e+00</div><div>rra[15].cdp_prep[0].unknown_datapoints =3D 3</d=
iv><div>rra[16].cf =3D &quot;MIN&quot;</div><div>rra[16].rows =3D 2400</div=
><div>rra[16].cur_row =3D 1277</div><div>rra[16].pdp_per_row =3D 13149</div=
><div>rra[16].xff =3D 1.0000000000e-01</div><div>rra[16].cdp_prep[0].value =
=3D 0.0000000000e+00</div><div>rra[16].cdp_prep[0].unknown_datapoints =3D 3=
</div><div>rra[17].cf =3D &quot;MAX&quot;</div><div>rra[17].rows =3D 2400</=
div><div>rra[17].cur_row =3D 2326</div><div>rra[17].pdp_per_row =3D 13149</=
div><div>rra[17].xff =3D 1.0000000000e-01</div><div>rra[17].cdp_prep[0].val=
ue =3D 0.0000000000e+00</div><div>rra[17].cdp_prep[0].unknown_datapoints =
=3D 3</div><div>rra[18].cf =3D &quot;AVERAGE&quot;</div><div>rra[18].rows =
=3D 2400</div><div>rra[18].cur_row =3D 1345</div><div>rra[18].pdp_per_row =
=3D 39447</div><div>rra[18].xff =3D 1.0000000000e-01</div><div>rra[18].cdp_=
prep[0].value =3D 0.0000000000e+00</div><div>rra[18].cdp_prep[0].unknown_da=
tapoints =3D 15</div><div>rra[19].cf =3D &quot;MIN&quot;</div><div>rra[19].=
rows =3D 2400</div><div>rra[19].cur_row =3D 971</div><div>rra[19].pdp_per_r=
ow =3D 39447</div><div>rra[19].xff =3D 1.0000000000e-01</div><div>rra[19].c=
dp_prep[0].value =3D 0.0000000000e+00</div><div>rra[19].cdp_prep[0].unknown=
_datapoints =3D 15</div><div>rra[20].cf =3D &quot;MAX&quot;</div><div>rra[2=
0].rows =3D 2400</div><div>rra[20].cur_row =3D 2146</div><div>rra[20].pdp_p=
er_row =3D 39447</div><div>rra[20].xff =3D 1.0000000000e-01</div><div>rra[2=
0].cdp_prep[0].value =3D 0.0000000000e+00</div><div>rra[20].cdp_prep[0].unk=
nown_datapoints =3D 15</div><div><br></div></div>

--94eb2c1b56800a0b27055b6815b4--


--===============5498036963989186881==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
rrd-users mailing list
[email protected]
https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users

--===============5498036963989186881==--