<div dir="ltr">Hi,<div><br></div><div>I am looking for inspiration for formatting 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 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?</div><div><br></div><div>this is an example graph</div><div><br></div><div>===========</div><div><br></div><div><div>#!/bin/bash</div><div>rrdtool graph Energiebilanz_Kessel.png \</div><div> --start='20171031 09:05' \</div><div> --end='20171031 16:00' \</div><div> --height=500 \</div><div> --title='Energiebilanz Kessel' \</div><div> --base=1000 \</div><div> --width=1000 \</div><div> --imgformat=PNG \</div><div> --interlaced \</div><div> --slope-mode \</div><div> DEF:b=data/temperature-Kessel_Vorlauf.rrd:value:AVERAGE \</div><div> DEF:b_min=data/temperature-Kessel_Vorlauf.rrd:value:MIN \</div><div> DEF:b_max=data/temperature-Kessel_Vorlauf.rrd:value:MAX \</div><div> DEF:a=data/temperature-Kessel_Rücklauf.rrd:value:AVERAGE \</div><div> DEF:a_min=data/temperature-Kessel_Rücklauf.rrd:value:MIN \</div><div> DEF:a_max=data/temperature-Kessel_Rücklauf.rrd:value:MAX \</div><div> DEF:c=data/counter-Kessel_Durchsatz.rrd:value:AVERAGE \</div><div> CDEF:D=b,a,-,c,80,TREND,*,10,*,1.163,* \</div><div> CDEF:E=c,80,TREND,100,* \</div><div> CDEF:F=b,a,- \</div><div> VDEF:G=D,TOTAL \</div><div> LINE1:a#28a9c9:' Kessel Rücklauf\t\t'\</div><div> VDEF:a_MIN=a_min,MINIMUM \</div><div> GPRINT:a_MIN:'Min\: %6.2lf%s\t'\</div><div> VDEF:a_AVERAGE=a,AVERAGE \</div><div> GPRINT:a_AVERAGE:'Avg\: %6.2lf%s\t' \</div><div> VDEF:a_MAX=a_max,MAXIMUM \</div><div> GPRINT:a_MAX:'Max\: %6.2lf%s\t' \</div><div> VDEF:a_LAST=a,LAST \</div><div> GPRINT:a_LAST:'Last\: %6.2lf%s\n' \</div><div> LINE1:b#c98028:' Kessel Vorlauf\t\t'\</div><div> VDEF:b_MIN=b_min,MINIMUM \</div><div> GPRINT:b_MIN:'Min\: %6.2lf%s\t' \</div><div> VDEF:b_AVERAGE=b,AVERAGE \</div><div> GPRINT:b_AVERAGE:'Avg\: %6.2lf%s\t' \</div><div> VDEF:b_MAX=b_max,MAXIMUM \</div><div> GPRINT:b_MAX:'Max\: %6.2lf%s\t' \</div><div> VDEF:b_LAST=b,LAST \</div><div> GPRINT:b_LAST:'Last\: %6.2lf%s\n' \</div><div> LINE1:D#66350d:' Leistung des Kessels [kW]\t'\</div><div> VDEF:D_AVERAGE=D,AVERAGE \</div><div> GPRINT:D_AVERAGE:'\t\t  Avg\: %6.2lf%s\t'\</div><div> VDEF:D_LAST=D,LAST \</div><div> GPRINT:D_LAST:'\t\t    Last\: %6.2lf%s\n'\</div><div> LINE1:E#00FF00:' Liter Warmwasser\t\t'\</div><div> VDEF:E_MIN=E,MINIMUM \</div><div> GPRINT:E_MIN:'Min\: %6.2lf%s\t'\</div><div> VDEF:E_AVERAGE=E,AVERAGE \</div><div> GPRINT:E_AVERAGE:'Avg\: %6.2lf%s\t'\</div><div> VDEF:E_MAX=E,MAXIMUM \</div><div> GPRINT:E_MAX:'Max\: %6.2lf%s\n'\</div><div> LINE1:F#28c933:' Temperaturdifferenz\t\t'\</div><div> VDEF:F_MIN=F,MINIMUM \</div><div> GPRINT:F_MIN:'Min\: %6.2lf%s\t'\</div><div> VDEF:F_AVERAGE=F,AVERAGE \</div><div> GPRINT:F_AVERAGE:'Avg\: %6.2lf%s\t'\</div><div> VDEF:F_MAX=F,MAXIMUM \</div><div> GPRINT:F_MAX:'Max\: %6.2lf%s\t'\</div><div> VDEF:F_LAST=F,LAST \</div><div> GPRINT:F_LAST:'Last\: %6.2lf%s\n' \</div><div> GPRINT:G:'   Gesamtenergie [kWh] %6.2lf%s\n' \</div><div> CDEF:a_diff=a_max,a_min,- \</div><div> LINE:a_min \</div><div> AREA:a_diff#7db6c480::STACK \</div><div> CDEF:b_diff=b_max,b_min,- \</div><div> LINE:b_min \</div><div> AREA:b_diff#c69f6f80::STACK \</div><div> CDEF:f_min=a,a_min,-,b,b_min,-,+ \</div><div> CDEF:f_max=a_max,a,-,b_max,b,-,+ \</div><div> CDEF:f_diff=f_max,f_min,+ \</div><div> CDEF:f_low=F,f_min,- \</div><div> LINE:f_low \</div><div> AREA:f_diff#85c68980::STACK \</div><div> CDEF:f_min_rel=f_min,F,/ \</div><div> CDEF:f_max_rel=f_max,F,/ \</div><div> CDEF:d_min=D,f_min_rel,* \</div><div> CDEF:d_max=D,f_max_rel,* \</div><div> CDEF:d_low=D,d_min,- \</div><div> LINE:d_low \</div><div> CDEF:d_diff=d_min,d_max,+ \</div><div> AREA:d_diff#705e4f80::STACK \</div></div><div><br></div></div>