On Fri, Aug 26, 2005 at 07:45:38PM +0200, Tobias Oetiker wrote:
Hi Tobias.
> > But this doesn't work with the errors generated by the COMMENT statement :/
> 
> it would be interesting to see a script proofing that since the
> code for parsing strings is the same in COMMENT and AREA, which in
> turn is the reason for COMMENT being picky about : in the first
> place which it was not in 1.0.x
O.K. this is the function:

[... snipp ...]
sub graph_load_linux()
{ 
  my $host=shift;
  my $i=0;
  my $RealImgWidth=0;
  my $RealImgHeight=0;
  my @avg=("5 min","30 min","2 hour","1 day");

  for ($i=0;$i<@Times;$i++)
  { 
    my $Time=$Times[$i];

    
(undef,$RealImgWidth,$RealImgHeight)=RRDs::graph($ImageDir."/".$host."-load-".$Time.".png","--imgformat","PNG","--start","-1$Time","--lower","0",
    "--width",$ImgWidth,"--height",$ImgHeight,
    
"DEF:load1=$DataDir"."/".$host."/load.rrd:load1:AVERAGE","DEF:load5=".$DataDir."/".$host."/load.rrd:load5:AVERAGE",
    "DEF:load15=$DataDir"."/".$host."/load.rrd:load15:AVERAGE",
    "DEF:usercpu=$DataDir"."/".$host."/cpu.rrd:user:AVERAGE",
    
"DEF:systemcpu=$DataDir"."/".$host."/cpu.rrd:system:AVERAGE","DEF:nicecpu=$DataDir"."/".$host."/cpu.rrd:nice:AVERAGE",
    
"DEF:idlecpu=$DataDir"."/".$host."/cpu.rrd:idle:AVERAGE","CDEF:up=systemcpu,usercpu,nicecpu,+,+",
    
"CDEF:lw=up,idlecpu,+","CDEF:cpu=up,lw,/,100,*","CDEF:cpu10=cpu,10,LE,load15,UNKN,IF",
    "CDEF:cpu20=cpu,10,GT,cpu,20,LE,*,load15,UNKN,IF",
    
"CDEF:cpu30=cpu,20,GT,cpu,30,LE,*,load15,UNKN,IF","CDEF:cpu40=cpu,30,GT,cpu,40,LE,*,load15,UNKN,IF",
    
"CDEF:cpu50=cpu,40,GT,cpu,50,LE,*,load15,UNKN,IF","CDEF:cpu60=cpu,50,GT,cpu,60,LE,*,load15,UNKN,IF",
    
"CDEF:cpu70=cpu,60,GT,cpu,70,LE,*,load15,UNKN,IF","CDEF:cpu80=cpu,70,GT,cpu,80,LE,*,load15,UNKN,IF",
    
"CDEF:cpu90=cpu,80,GT,cpu,90,LE,*,load15,UNKN,IF","CDEF:cpu100=cpu,90,GT,cpu,100,LE,*,load15,UNKN,IF",
    "COMMENT:CPU Utilization (%)\\n",
    "AREA:cpu10#0043ff: 
0%-10%","AREA:cpu20#01b2f6:10%-20%","AREA:cpu30#02fcf2:20%-30%","AREA:cpu40#04ff01:30%-40%",
    "AREA:cpu50#cbfe22:40%-50%",
    "COMMENT: Minimum","GPRINT:cpu:MIN:%3.2lf%%","COMMENT:Maximum\: 
","GPRINT:cpu:MAX:%3.2lf%%\\n",
    
"AREA:cpu60#f6fd2a:50%-60%","AREA:cpu70#f7e526:60%-70%","AREA:cpu80#f9a71b:70%-80%",
    "AREA:cpu90#fb7113:80%-90%","AREA:cpu100#fe2406:90%-100%",
    "COMMENT:Average\\: ","GPRINT:cpu:AVERAGE:%3.2lf%%\\n",
    "COMMENT:\\n",
    "COMMENT:Load average\\n",
    "LINE1:load1#af06bf:1 minute ",
    "COMMENT:                                            Minimum: ",
    "GPRINT:load1:MIN:%3.2lf","COMMENT:Maximum: ","GPRINT:load1:MAX:%3.2lf\\n",
    "LINE1:load5#ef0cd1:5 minutes ","COMMENT:                                   
        Average: ",
    "GPRINT:load1:AVERAGE:%3.2lf\\n",
    "LINE1:load15#000000:15 minutes\\n",
    "HRULE:0#000000");

    if (RRDs::error)
    { 
      printf("<b><u>Error:</u>%s</b>\n",RRDs::error);
    } else
    { 
      printf("<center><b><i>Load average on %s - last %s (%s 
average)</i></b></center><br>",$host,$Time,$avg[$i]);
      printf("<img src=\"%s\" width=\"%u\" height=\"%u\" alt=\"Load average on 
%s over last %s - %s 
average\">\n",$WWWImageDir."/".$host."-load-".$Time.".png",$RealImgWidth,$RealImgHeight,$host,$Time,$avg[$i]);
    }
    printf("<hr>\n");
  }
}
[... snipp ...]

$DataDir is /home/www/systems

Running this (perl) script (as CGI) produces:

Error:Garbage ': ' after command: COMMENT:Maximum:

Well, I could live without colons ;) 

Hope that helps ...

Andreas.

-- 
Dipl.-Ing. Andreas Maus             science+computing ag
System Administration               Hagellocher Weg 71-75
mail: [EMAIL PROTECTED]   72070 Tuebingen, Germany
tel.: +49 7071 9457 456             www.science-computing.de

-- Binary/unsupported file stripped by Ecartis --
-- Err : No filename to use for decode, file stripped.
-- Type: application/pgp-signature


--
Unsubscribe mailto:[EMAIL PROTECTED]
Help        mailto:[EMAIL PROTECTED]
Archive     http://lists.ee.ethz.ch/rrd-users
WebAdmin    http://lists.ee.ethz.ch/lsg2.cgi

Reply via email to