formatting the rrdtool graph commands/scripts

Andreas Schuldei <[email protected]> Wed, 01 Nov 2017 23:06:44 +0000
Newsgroups gmane.comp.db.rrdtool.user
Message-ID <CAEyJ1OJ+XGgf-0mmckyr6hqEK11rt_LLYSAzaCjHRwCi8zAArw@mail.gmail.com>
--===============1589803694732482447==
Content-Type: multipart/alternative; boundary="001a114a08928e5148055cf3ed8e"

--001a114a08928e5148055cf3ed8e
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

I am looking for inspiration for formatting my rrdtool graph commands.
given that this is some form of prgramming, i would like to extract common
parts like the preamble which is similar in many of my graphs, or format
the script so the meaning becomes more obvious. Many of my graph commands
are longish (80lines) and are hard to grock after a while. How do you deal
with this?

this is an example graph

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

#!/bin/bash
rrdtool graph Energiebilanz_Kessel.png \
 --start=3D'20171031 09:05' \
 --end=3D'20171031 16:00' \
 --height=3D500 \
 --title=3D'Energiebilanz Kessel' \
 --base=3D1000 \
 --width=3D1000 \
 --imgformat=3DPNG \
 --interlaced \
 --slope-mode \
 DEF:b=3Ddata/temperature-Kessel_Vorlauf.rrd:value:AVERAGE \
 DEF:b_min=3Ddata/temperature-Kessel_Vorlauf.rrd:value:MIN \
 DEF:b_max=3Ddata/temperature-Kessel_Vorlauf.rrd:value:MAX \
 DEF:a=3Ddata/temperature-Kessel_R=C3=BCcklauf.rrd:value:AVERAGE \
 DEF:a_min=3Ddata/temperature-Kessel_R=C3=BCcklauf.rrd:value:MIN \
 DEF:a_max=3Ddata/temperature-Kessel_R=C3=BCcklauf.rrd:value:MAX \
 DEF:c=3Ddata/counter-Kessel_Durchsatz.rrd:value:AVERAGE \
 CDEF:D=3Db,a,-,c,80,TREND,*,10,*,1.163,* \
 CDEF:E=3Dc,80,TREND,100,* \
 CDEF:F=3Db,a,- \
 VDEF:G=3DD,TOTAL \
 LINE1:a#28a9c9:' Kessel R=C3=BCcklauf\t\t'\
 VDEF:a_MIN=3Da_min,MINIMUM \
 GPRINT:a_MIN:'Min\: %6.2lf%s\t'\
 VDEF:a_AVERAGE=3Da,AVERAGE \
 GPRINT:a_AVERAGE:'Avg\: %6.2lf%s\t' \
 VDEF:a_MAX=3Da_max,MAXIMUM \
 GPRINT:a_MAX:'Max\: %6.2lf%s\t' \
 VDEF:a_LAST=3Da,LAST \
 GPRINT:a_LAST:'Last\: %6.2lf%s\n' \
 LINE1:b#c98028:' Kessel Vorlauf\t\t'\
 VDEF:b_MIN=3Db_min,MINIMUM \
 GPRINT:b_MIN:'Min\: %6.2lf%s\t' \
 VDEF:b_AVERAGE=3Db,AVERAGE \
 GPRINT:b_AVERAGE:'Avg\: %6.2lf%s\t' \
 VDEF:b_MAX=3Db_max,MAXIMUM \
 GPRINT:b_MAX:'Max\: %6.2lf%s\t' \
 VDEF:b_LAST=3Db,LAST \
 GPRINT:b_LAST:'Last\: %6.2lf%s\n' \
 LINE1:D#66350d:' Leistung des Kessels [kW]\t'\
 VDEF:D_AVERAGE=3DD,AVERAGE \
 GPRINT:D_AVERAGE:'\t\t  Avg\: %6.2lf%s\t'\
 VDEF:D_LAST=3DD,LAST \
 GPRINT:D_LAST:'\t\t    Last\: %6.2lf%s\n'\
 LINE1:E#00FF00:' Liter Warmwasser\t\t'\
 VDEF:E_MIN=3DE,MINIMUM \
 GPRINT:E_MIN:'Min\: %6.2lf%s\t'\
 VDEF:E_AVERAGE=3DE,AVERAGE \
 GPRINT:E_AVERAGE:'Avg\: %6.2lf%s\t'\
 VDEF:E_MAX=3DE,MAXIMUM \
 GPRINT:E_MAX:'Max\: %6.2lf%s\n'\
 LINE1:F#28c933:' Temperaturdifferenz\t\t'\
 VDEF:F_MIN=3DF,MINIMUM \
 GPRINT:F_MIN:'Min\: %6.2lf%s\t'\
 VDEF:F_AVERAGE=3DF,AVERAGE \
 GPRINT:F_AVERAGE:'Avg\: %6.2lf%s\t'\
 VDEF:F_MAX=3DF,MAXIMUM \
 GPRINT:F_MAX:'Max\: %6.2lf%s\t'\
 VDEF:F_LAST=3DF,LAST \
 GPRINT:F_LAST:'Last\: %6.2lf%s\n' \
 GPRINT:G:'   Gesamtenergie [kWh] %6.2lf%s\n' \
 CDEF:a_diff=3Da_max,a_min,- \
 LINE:a_min \
 AREA:a_diff#7db6c480::STACK \
 CDEF:b_diff=3Db_max,b_min,- \
 LINE:b_min \
 AREA:b_diff#c69f6f80::STACK \
 CDEF:f_min=3Da,a_min,-,b,b_min,-,+ \
 CDEF:f_max=3Da_max,a,-,b_max,b,-,+ \
 CDEF:f_diff=3Df_max,f_min,+ \
 CDEF:f_low=3DF,f_min,- \
 LINE:f_low \
 AREA:f_diff#85c68980::STACK \
 CDEF:f_min_rel=3Df_min,F,/ \
 CDEF:f_max_rel=3Df_max,F,/ \
 CDEF:d_min=3DD,f_min_rel,* \
 CDEF:d_max=3DD,f_max_rel,* \
 CDEF:d_low=3DD,d_min,- \
 LINE:d_low \
 CDEF:d_diff=3Dd_min,d_max,+ \
 AREA:d_diff#705e4f80::STACK \

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

<div dir=3D"ltr">Hi,<div><br></div><div>I am looking for inspiration for fo=
rmatting my rrdtool graph commands.</div><div>given that this is some form =
of prgramming, i would like to extract common parts like the preamble which=
 is similar in many of my graphs, or format the script so the meaning becom=
es more obvious. Many of my graph commands are longish (80lines) and are ha=
rd to grock after a while. How do you deal with this?</div><div><br></div><=
div>this is an example graph</div><div><br></div><div>=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D</div><div><br></div><div><div>#!/bin/bash</div><div>rrdtool gr=
aph Energiebilanz_Kessel.png \</div><div>=C2=A0--start=3D&#39;20171031 09:0=
5&#39; \</div><div>=C2=A0--end=3D&#39;20171031 16:00&#39; \</div><div>=C2=
=A0--height=3D500 \</div><div>=C2=A0--title=3D&#39;Energiebilanz Kessel&#39=
; \</div><div>=C2=A0--base=3D1000 \</div><div>=C2=A0--width=3D1000 \</div><=
div>=C2=A0--imgformat=3DPNG \</div><div>=C2=A0--interlaced \</div><div>=C2=
=A0--slope-mode \</div><div>=C2=A0DEF:b=3Ddata/temperature-Kessel_Vorlauf.r=
rd:value:AVERAGE \</div><div>=C2=A0DEF:b_min=3Ddata/temperature-Kessel_Vorl=
auf.rrd:value:MIN \</div><div>=C2=A0DEF:b_max=3Ddata/temperature-Kessel_Vor=
lauf.rrd:value:MAX \</div><div>=C2=A0DEF:a=3Ddata/temperature-Kessel_R=C3=
=BCcklauf.rrd:value:AVERAGE \</div><div>=C2=A0DEF:a_min=3Ddata/temperature-=
Kessel_R=C3=BCcklauf.rrd:value:MIN \</div><div>=C2=A0DEF:a_max=3Ddata/tempe=
rature-Kessel_R=C3=BCcklauf.rrd:value:MAX \</div><div>=C2=A0DEF:c=3Ddata/co=
unter-Kessel_Durchsatz.rrd:value:AVERAGE \</div><div>=C2=A0CDEF:D=3Db,a,-,c=
,80,TREND,*,10,*,1.163,* \</div><div>=C2=A0CDEF:E=3Dc,80,TREND,100,* \</div=
><div>=C2=A0CDEF:F=3Db,a,- \</div><div>=C2=A0VDEF:G=3DD,TOTAL \</div><div>=
=C2=A0LINE1:a#28a9c9:&#39; Kessel R=C3=BCcklauf\t\t&#39;\</div><div>=C2=A0V=
DEF:a_MIN=3Da_min,MINIMUM \</div><div>=C2=A0GPRINT:a_MIN:&#39;Min\: %6.2lf%=
s\t&#39;\</div><div>=C2=A0VDEF:a_AVERAGE=3Da,AVERAGE \</div><div>=C2=A0GPRI=
NT:a_AVERAGE:&#39;Avg\: %6.2lf%s\t&#39; \</div><div>=C2=A0VDEF:a_MAX=3Da_ma=
x,MAXIMUM \</div><div>=C2=A0GPRINT:a_MAX:&#39;Max\: %6.2lf%s\t&#39; \</div>=
<div>=C2=A0VDEF:a_LAST=3Da,LAST \</div><div>=C2=A0GPRINT:a_LAST:&#39;Last\:=
 %6.2lf%s\n&#39; \</div><div>=C2=A0LINE1:b#c98028:&#39; Kessel Vorlauf\t\t&=
#39;\</div><div>=C2=A0VDEF:b_MIN=3Db_min,MINIMUM \</div><div>=C2=A0GPRINT:b=
_MIN:&#39;Min\: %6.2lf%s\t&#39; \</div><div>=C2=A0VDEF:b_AVERAGE=3Db,AVERAG=
E \</div><div>=C2=A0GPRINT:b_AVERAGE:&#39;Avg\: %6.2lf%s\t&#39; \</div><div=
>=C2=A0VDEF:b_MAX=3Db_max,MAXIMUM \</div><div>=C2=A0GPRINT:b_MAX:&#39;Max\:=
 %6.2lf%s\t&#39; \</div><div>=C2=A0VDEF:b_LAST=3Db,LAST \</div><div>=C2=A0G=
PRINT:b_LAST:&#39;Last\: %6.2lf%s\n&#39; \</div><div>=C2=A0LINE1:D#66350d:&=
#39; Leistung des Kessels [kW]\t&#39;\</div><div>=C2=A0VDEF:D_AVERAGE=3DD,A=
VERAGE \</div><div>=C2=A0GPRINT:D_AVERAGE:&#39;\t\t=C2=A0 Avg\: %6.2lf%s\t&=
#39;\</div><div>=C2=A0VDEF:D_LAST=3DD,LAST \</div><div>=C2=A0GPRINT:D_LAST:=
&#39;\t\t=C2=A0 =C2=A0 Last\: %6.2lf%s\n&#39;\</div><div>=C2=A0LINE1:E#00FF=
00:&#39; Liter Warmwasser\t\t&#39;\</div><div>=C2=A0VDEF:E_MIN=3DE,MINIMUM =
\</div><div>=C2=A0GPRINT:E_MIN:&#39;Min\: %6.2lf%s\t&#39;\</div><div>=C2=A0=
VDEF:E_AVERAGE=3DE,AVERAGE \</div><div>=C2=A0GPRINT:E_AVERAGE:&#39;Avg\: %6=
.2lf%s\t&#39;\</div><div>=C2=A0VDEF:E_MAX=3DE,MAXIMUM \</div><div>=C2=A0GPR=
INT:E_MAX:&#39;Max\: %6.2lf%s\n&#39;\</div><div>=C2=A0LINE1:F#28c933:&#39; =
Temperaturdifferenz\t\t&#39;\</div><div>=C2=A0VDEF:F_MIN=3DF,MINIMUM \</div=
><div>=C2=A0GPRINT:F_MIN:&#39;Min\: %6.2lf%s\t&#39;\</div><div>=C2=A0VDEF:F=
_AVERAGE=3DF,AVERAGE \</div><div>=C2=A0GPRINT:F_AVERAGE:&#39;Avg\: %6.2lf%s=
\t&#39;\</div><div>=C2=A0VDEF:F_MAX=3DF,MAXIMUM \</div><div>=C2=A0GPRINT:F_=
MAX:&#39;Max\: %6.2lf%s\t&#39;\</div><div>=C2=A0VDEF:F_LAST=3DF,LAST \</div=
><div>=C2=A0GPRINT:F_LAST:&#39;Last\: %6.2lf%s\n&#39; \</div><div>=C2=A0GPR=
INT:G:&#39;=C2=A0 =C2=A0Gesamtenergie [kWh] %6.2lf%s\n&#39; \</div><div>=C2=
=A0CDEF:a_diff=3Da_max,a_min,- \</div><div>=C2=A0LINE:a_min \</div><div>=C2=
=A0AREA:a_diff#7db6c480::STACK \</div><div>=C2=A0CDEF:b_diff=3Db_max,b_min,=
- \</div><div>=C2=A0LINE:b_min \</div><div>=C2=A0AREA:b_diff#c69f6f80::STAC=
K \</div><div>=C2=A0CDEF:f_min=3Da,a_min,-,b,b_min,-,+ \</div><div>=C2=A0CD=
EF:f_max=3Da_max,a,-,b_max,b,-,+ \</div><div>=C2=A0CDEF:f_diff=3Df_max,f_mi=
n,+ \</div><div>=C2=A0CDEF:f_low=3DF,f_min,- \</div><div>=C2=A0LINE:f_low \=
</div><div>=C2=A0AREA:f_diff#85c68980::STACK \</div><div>=C2=A0CDEF:f_min_r=
el=3Df_min,F,/ \</div><div>=C2=A0CDEF:f_max_rel=3Df_max,F,/ \</div><div>=C2=
=A0CDEF:d_min=3DD,f_min_rel,* \</div><div>=C2=A0CDEF:d_max=3DD,f_max_rel,* =
\</div><div>=C2=A0CDEF:d_low=3DD,d_min,- \</div><div>=C2=A0LINE:d_low \</di=
v><div>=C2=A0CDEF:d_diff=3Dd_min,d_max,+ \</div><div>=C2=A0AREA:d_diff#705e=
4f80::STACK \</div></div><div><br></div></div>

--001a114a08928e5148055cf3ed8e--


--===============1589803694732482447==
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

--===============1589803694732482447==--