Re: RPN workaround to decrease IFs

Tobias Oetiker <[email protected]>
Newsgroups gmane.comp.db.rrdtool.devel
Message-ID <[email protected]>
Hi Maris,

thanks for the bug report ... COMPUTE is not used very often hence
there might be a bunch of bugs burried there ... my guess (without
looking at the code) is that the system does not properly determine
that it is running out of space for storing the COMPUTE expression.
(since the rrdtool data format has only a rather limited amount of
space for these expressions, that state might be reached quite
quickly.

cheers
tobi

Today Maris Janis Vasilevskis wrote:

> Hi,
>
> rrdtool create causes segmentation fault on COMPUTE with 4 IFs, but work with 3 IFs
> (my environment: Centos 5.5, tested with RRD 1.4.4 and 1.4.5).
> For one of possible workarounds, I should be sure about result of UNKN,0,/ - UNKN or INF?
> Another ideas welcomed.
>
> The task is elementary: computed cpuperc=cpuused/cpuall*100
> 4 data checks required:
> 1) cpuused unknown - result unknown
> 2) cpuall unknown - result unknown
> 3) cpuused>cpuall - bad data, result unknown
> 4) cpuall=0 - result 0
> When I implement them using IF, segmentation fault occurs.
>
> If I remove any of 4 IFs, create works normally.
>
> A full sample causing segfault:
> rrdtool create x1.rrd \
> DS:cpuused:DERIVE:600:0:U \
> DS:cpuall:DERIVE:600:0:U \
> DS:cpuperc:COMPUTE:cpuused,UN,UNKN,cpuall,UN,UNKN,cpuused,cpuall,GT,UNKN,cpuall,0,EQ,0,cpuused,cpuall,/,100,*,IF,IF,IF,IF \
> RRA:AVERAGE:0.5:1:60
>
> Thank you,
> Mahris
>
> _______________________________________________
> rrd-developers mailing list
> [email protected]
> https://lists.oetiker.ch/cgi-bin/listinfo/rrd-developers
>
>

-- 
Tobi Oetiker, OETIKER+PARTNER AG, Aarweg 15 CH-4600 Olten, Switzerland
http://it.oetiker.ch [email protected] ++41 62 775 9902 / sb: -9900
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.