Re: [rrd-users] problem with plotting unkown data

This is a discussion on Re: [rrd-users] problem with plotting unkown data within the RRD Users forums, part of the Networking and Network Related category; On Mon, Feb 12, 2007 at 01:37:51AM +0100, Bernd Kuhlen wrote: > Hi, > I want to plot ...


Go Back   Usenet Forums > Networking and Network Related > RRD Users

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 02-12-2007
Alex van den Bogaerdt
 
Posts: n/a
Default Re: [rrd-users] problem with plotting unkown data

On Mon, Feb 12, 2007 at 01:37:51AM +0100, Bernd Kuhlen wrote:
> Hi,
> I want to plot the number of processes on my server, defining fewer
> than 80 as ok, 80-120 as critical and more than 120 as overload.
> Here's how I try to plot it:
>
> /usr/local/bin/rrdtool graph /path/to/png/myserver.proc-6h.png --
> start -21600 \
> -t "myserver (6h number of processes, 5min intervals)" \
> --lower-limit 0 \
> --vertical-label "number of processes" \
> DEF:nproc=/path/to/rrd/database/myserver.proc.rrd:nproc:AVERAGE \



> "CDEF:newproc=nproc" \


Why this one? It seems redundant?


for values being unknown:

> CDEF:ok=newproc,$PROCCRITS,GT,$PROCCRITS,newproc,I F \


if newproc>80 then 80 else newproc -> should result in UNKN

> CDEF:many=newproc,$PROCCRITS,GT,newproc,$PROCCRITS ,-,0,IF \


if newproc>80 then newproc-80 else 0 -> should result in 0

> CDEF:over=newproc,$PROCCRITH,GT,newproc,$PROCCRITH ,-,0,IF \


if newproc>120 then newproc-120 else 0

> AREA:ok#0000FF:"ok" \
> STACK:many#FFFF00:"critical" \
> STACK:over#FF0000:"overload"


should result in area unknown, stack 0 on top, stack 0 on top.
Stacking on top of unknown doesn't happen -> no data visible.


The source from 1.2.15, which does exactly as I expect:

Two values on the stack: newproc in s[stptr-1] and 80 in s[stptr].

case OP_GT:
stackunderflow(1);
if (isnan(rpnstack -> s[stptr-1]))
;
else if (isnan(rpnstack -> s[stptr]))
rpnstack -> s[stptr-1] = rpnstack -> s[stptr];
else
rpnstack -> s[stptr-1] = rpnstack -> s[stptr-1] >
rpnstack -> s[stptr] ? 1.0 : 0.0;

stptr--;
if the stack isn't large enough, report an underflow.
if the first value is not a number, return that one
if the second value is not a number, return that one
return 1 if the first value is larger than the second one, else 0.
adjust the stacksize

Which version of RRDtool are you running?

>From your description, it seems "ok=newproc,$PROCCRITS,GT" results

in true if newproc is unknown. You can test this by making all your
data unknown: CDEF:newproc=nproc,POP,UNKN (change the redundant line).
Then (temporarily) remove CDEFs many and over, including displaying
them with STACK. This leaves CDEF ok, including its AREA.

Of course, it could be something completely different, I can be
missing something as well here...

Further debugging could include: plotting newproc as a black line,
plotting ok as a black line (do these both after plotting the area),
changing all values into zero (CDEF:newproc=nproc,POP,0)


--
Alex van den Bogaerdt
http://www.vandenbogaerdt.nl/rrdtool/

_______________________________________________
rrd-users mailing list
rrd-users@lists.oetiker.ch
https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users
Reply With Quote
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are Off
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT +1. The time now is 10:27 PM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.0.0