Re: rrd_graph.c crashed on right Y-axis with SI units
Martin Pelikan <[email protected]> Sun, 12 Aug 2012 22:21:48 +0200
| Newsgroups | gmane.comp.db.rrdtool.devel |
|---|---|
| Message-ID | <[email protected]> |
On Sun, Aug 12, 2012 at 08:50:52PM +0200, Tobias Oetiker wrote: > as long as you do not specify a format for the right axis labels, > they should autoscale ... Sorry, but as you can see here: http://lk.storkhole.cz/vole.png myself and this version disagree :-( $ rrdtool --version RRDtool 1.4.7 Copyright 1997-2012 by Tobias Oetiker <[email protected]> Compiled Aug 9 2012 21:46:48 Anyway, the destination system is OpenBSD; I managed to compile the latest SVN version, because the one in packages is 1.2.30, and after a while it worked (I'll send the patches separately). An empty graph shows the right side scales (left is 0.0 - 1.0 and right 0m - 125m), but after it's been filled with data, it doesn't: http://lk.storkhole.cz/graph-svn-openbsd-filled.png I'll be working with the SVN version now; the script remained more or less the same (I know, the values are nonsense): TOOL=/opt/rrdtool-1.4.999/bin/rrdtool START=1307386800 ${TOOL} graph vole.png --imgformat PNG -w 600 -h 400 \ -s ${START} -e start+1d \ --right-axis 0.125:0 \ DEF:tcpbts=moje.rrd:tcp_bytes:AVERAGE \ DEF:udpbts=moje.rrd:udp_bytes:AVERAGE \ DEF:up=moje.rrd:udp_packets:AVERAGE \ DEF:tb=moje.rrd:tcp_bytes:AVERAGE \ CDEF:icmpbts=tb,-1,* \ CDEF:udppkt=up,-1,* \ AREA:tcpbts#ff0000:"TCP bytes" \ AREA:udpbts#00ff00:"UDP bytes" \ LINE1:udppkt#0000ff:"UDP packets" \ LINE1:icmpbts#00FFFF:"ICMP bytes" \ Thanks for your help so far. First thing I noticed is that OpenBSD (and possibly others) doesn't have EPROTO in its errno.h, so I changed it to EINVAL, which is more common. I know, it's in the POSIX.1-2008, but why not use something more common here? What do you think? Should I rather try to push them a constant they don't use anywhere? -- Martin Pelikan Index: src/rrd_client.c =================================================================== --- src/rrd_client.c (revision 2297) +++ src/rrd_client.c (working copy) @@ -1495,7 +1495,7 @@ response_free (res); if (head == NULL) - return (EPROTO); + return (EINVAL); *ret_stats = head; return (0);