[rrd-developers] rrdtool overflow with large rpn expressions?
George Coulouris
coulouri at ncbi.nlm.nih.gov
Fri Jan 13 21:42:43 MET 2006
Hello and happy new year!
It seems that large rpn expressions will overflow the rpn parser. I use
rrdtool to aggregate data over hundreds of hosts (e.g. min/avg/max of a
given performance metric, in this example, disk usage), and the rpn
strings can grow quite large.
The native ability to handle *sets* of rrds would make cluster
monitoring much easier.
Cheers,
George Coulouris
National Center for Biotechnology Information (contractor)
<---- cut here
Here's a stack dump:
#0 0xb7e0f078 in mallopt () from /lib/libc.so.6
#1 0xb7e0dbb0 in realloc () from /lib/libc.so.6
#2 0xb7fae0b3 in rpn_parse () from /usr/local/rrdtool-1.2.9/lib/librrd.so.2
#3 0xb7fa923b in rrd_parse_cdef ()
from /usr/local/rrdtool-1.2.9/lib/librrd.so.2
#4 0xb7fa94df in rrd_graph_script ()
from /usr/local/rrdtool-1.2.9/lib/librrd.so.2
#5 0xb7fa501c in rrd_graph () from /usr/local/rrdtool-1.2.9/lib/librrd.so.2
#6 0xb7fbec21 in HandleInputLine ()
from /usr/local/rrdtool-1.2.9/lib/librrd.so.2
#7 0xb7fbdcf5 in main () from /usr/local/rrdtool-1.2.9/lib/librrd.so.2
#8 0xb7daf976 in __libc_start_main () from /lib/libc.so.6
#9 0x08048421 in _start ()
and some sanitized example input:
rrdtool graph mnt_per_export_per_home-86400.png DEF
:machine0_mnt_per_export_per_home_raw=/path/o_machine0/gauge_mnt_per_export_per_
home.rrd:Orca19990222:AVERAGE
CDEF:machine0_mnt_per_export_per_home=machine0_mn
t_per_export_per_home_raw,UN,0,machine0_mnt_per_export_per_home_raw,IF
DEF:machi
ne1_mnt_per_export_per_home_raw=/path/o_machine1/gauge_mnt_per_export_per_home.r
rd:Orca19990222:AVERAGE
CDEF:machine1_mnt_per_export_per_home=machine1_mnt_per_
export_per_home_raw,UN,0,machine1_mnt_per_export_per_home_raw,IF
DEF:machine2_mn
t_per_export_per_home_raw=/path/o_machine2/gauge_mnt_per_export_per_home.rrd:Orc
a19990222:AVERAGE
CDEF:machine2_mnt_per_export_per_home=machine2_mnt_per_export
_per_home_raw,UN,0,machine2_mnt_per_export_per_home_raw,IF
DEF:machine3_mnt_per_
export_per_home_raw=/path/o_machine3/gauge_mnt_per_export_per_home.rrd:Orca19990
222:AVERAGE
CDEF:machine3_mnt_per_export_per_home=machine3_mnt_per_export_per_h
ome_raw,UN,0,machine3_mnt_per_export_per_home_raw,IF
DEF:machine4_mnt_per_export
_per_home_raw=/path/o_machine4/gauge_mnt_per_export_per_home.rrd:Orca19990222:AV
ERAGE
CDEF:machine4_mnt_per_export_per_home=machine4_mnt_per_export_per_home_ra
w,UN,0,machine4_mnt_per_export_per_home_raw,IF
DEF:machine5_mnt_per_export_per_h
ome_raw=/path/o_machine5/gauge_mnt_per_export_per_home.rrd:Orca19990222:AVERAGE
CDEF:machine5_mnt_per_export_per_home=machine5_mnt_per_export_per_home_raw,UN,0
,machine5_mnt_per_export_per_home_raw,IF
DEF:machine6_mnt_per_export_per_home_ra
w=/path/o_machine6/gauge_mnt_per_export_per_home.rrd:Orca19990222:AVERAGE
CDEF:
machine6_mnt_per_export_per_home=machine6_mnt_per_export_per_home_raw,UN,0,machi
ne6_mnt_per_export_per_home_raw,IF
DEF:machine7_mnt_per_export_per_home_raw=/pat
h/o_machine7/gauge_mnt_per_export_per_home.rrd:Orca19990222:AVERAGE
CDEF:machin
e7_mnt_per_export_per_home=machine7_mnt_per_export_per_home_raw,UN,0,machine7_mn
t_per_export_per_home_raw,IF
DEF:machine8_mnt_per_export_per_home_raw=/path/o_ma
chine8/gauge_mnt_per_export_per_home.rrd:Orca19990222:AVERAGE
CDEF:machine8_mnt
_per_export_per_home=machine8_mnt_per_export_per_home_raw,UN,0,machine8_mnt_per_
export_per_home_raw,IF
CDEF:max_mnt_per_export_per_home=machine0_mnt_per_export_
per_home,machine1_mnt_per_export_per_home,MAX,machine2_mnt_per_export_per_home,M
AX,machine3_mnt_per_export_per_home,MAX,machine4_mnt_per_export_per_home,MAX,mac
hine5_mnt_per_export_per_home,MAX,machine6_mnt_per_export_per_home,MAX,machine7_
mnt_per_export_per_home,MAX,machine8_mnt_per_export_per_home,MAX
CDEF:avg_mnt_pe
r_export_per_home=machine0_mnt_per_export_per_home,machine1_mnt_per_export_per_h
ome,+,machine2_mnt_per_export_per_home,+,machine3_mnt_per_export_per_home,+,mach
ine4_mnt_per_export_per_home,+,machine5_mnt_per_export_per_home,+,machine6_mnt_p
er_export_per_home,+,machine7_mnt_per_export_per_home,+,machine8_mnt_per_export_
per_home,+,9,/
CDEF:min_mnt_per_export_per_home=machine0_mnt_per_export_per_home
,machine1_mnt_per_export_per_home,MIN,machine2_mnt_per_export_per_home,MIN,machi
ne3_mnt_per_export_per_home,MIN,machine4_mnt_per_export_per_home,MIN,machine5_mn
t_per_export_per_home,MIN,machine6_mnt_per_export_per_home,MIN,machine7_mnt_per_
export_per_home,MIN,machine8_mnt_per_export_per_home,MIN -s -86400 -e
-3600 --n
o-legend --title 'export home'
LINE1:min_mnt_per_export_per_home#0000ff:min_mnt_
per_export_per_home
LINE2:avg_mnt_per_export_per_home#010101:avg_mnt_per_export_
per_home
LINE1:max_mnt_per_export_per_home#ff0000:max_mnt_per_export_per_home
--
Unsubscribe mailto:rrd-developers-request at list.ee.ethz.ch?subject=unsubscribe
Help mailto:rrd-developers-request at list.ee.ethz.ch?subject=help
Archive http://lists.ee.ethz.ch/rrd-developers
WebAdmin http://lists.ee.ethz.ch/lsg2.cgi
More information about the rrd-developers
mailing list