diff -ur hotsanic-2.4/modules/system/diagrams.pl hotsanic-2.6/modules/system/diagrams.pl --- hotsanic-2.4/modules/system/diagrams.pl 2003-11-20 11:09:44.000000000 +0100 +++ hotsanic-2.6/modules/system/diagrams.pl 2007-11-20 04:58:37.000000000 +0100 @@ -699,9 +699,11 @@ print "creating images for interrupts...\n"; for (my $nn=0;$nn<18;$nn++) { - if (!defined $ITEMS[$nn]) { $ITEMS[$nn]="?"; } - if ($ITEMS[$nn] eq "") { $ITEMS[$nn]="?"; } - $ITEMS[$nn]=substr("(".substr($ITEMS[$nn],0,5).") ",0,7); +# if (!defined $ITEMS[$nn]) { $ITEMS[$nn]="?"; } + if (defined $ITEMS[$nn]) { + if ($ITEMS[$nn] eq "") { $ITEMS[$nn]="?"; } + $ITEMS[$nn]=substr("(".substr($ITEMS[$nn],0,7).") ",0,9); + } } my $LEGEND="irq/s"; @@ -725,31 +727,35 @@ if ($make>0) { my ($prints,$xs,$ys); - - ($prints,$xs,$ys)=RRDs::graph $TEMPNAME, "-i", "-b","1024", "-v", $LEGEND, - "-s","-$range", "-w",$CONFIG{"WIDTH"}, "-h",$CONFIG{"HEIGHT"}, - "-l 0", "--title", "total IRQ/s - last $descr ($DATESTRING)", - "-a", uc($IMGFMT), - "DEF:irqiall=rrd/irq.rrd:irqall:MIN", - "DEF:irqaall=rrd/irq.rrd:irqall:AVERAGE", - "DEF:irqxall=rrd/irq.rrd:irqall:MAX", - "DEF:irqa00=rrd/irq.rrd:irq00:AVERAGE", - "DEF:irqa01=rrd/irq.rrd:irq01:AVERAGE", - "DEF:irqa02=rrd/irq.rrd:irq02:AVERAGE", - "DEF:irqa03=rrd/irq.rrd:irq03:AVERAGE", - "DEF:irqa04=rrd/irq.rrd:irq04:AVERAGE", - "DEF:irqa05=rrd/irq.rrd:irq05:AVERAGE", - "DEF:irqa06=rrd/irq.rrd:irq06:AVERAGE", - "DEF:irqa07=rrd/irq.rrd:irq07:AVERAGE", - "DEF:irqa08=rrd/irq.rrd:irq08:AVERAGE", - "DEF:irqa09=rrd/irq.rrd:irq09:AVERAGE", - "DEF:irqa10=rrd/irq.rrd:irq10:AVERAGE", - "DEF:irqa11=rrd/irq.rrd:irq11:AVERAGE", - "DEF:irqa12=rrd/irq.rrd:irq12:AVERAGE", - "DEF:irqa13=rrd/irq.rrd:irq13:AVERAGE", - "DEF:irqa14=rrd/irq.rrd:irq14:AVERAGE", - "DEF:irqa15=rrd/irq.rrd:irq15:AVERAGE", - "AREA:irqxall#c0c0ff:total", + my @args = (); + push @args, $TEMPNAME, "-i", "-b","1024", "-v", $LEGEND, + "-s","-$range", "-w",$CONFIG{"WIDTH"}, "-h",$CONFIG{"HEIGHT"}, + "-l", 0, "--title", "total IRQ/s - last $descr ($DATESTRING)", + "-a", uc($IMGFMT), + "DEF:irqiall=rrd/irq.rrd:irqall:MIN", + "DEF:irqaall=rrd/irq.rrd:irqall:AVERAGE", + "DEF:irqxall=rrd/irq.rrd:irqall:MAX"; + + push @args, "DEF:irqa00=rrd/irq.rrd:irq00:AVERAGE" if defined $ITEMS[0]; + push @args, "DEF:irqa01=rrd/irq.rrd:irq01:AVERAGE" if defined $ITEMS[1]; + push @args, "DEF:irqa02=rrd/irq.rrd:irq02:AVERAGE" if defined $ITEMS[2]; + push @args, "DEF:irqa03=rrd/irq.rrd:irq03:AVERAGE" if defined $ITEMS[3]; + push @args, "DEF:irqa04=rrd/irq.rrd:irq04:AVERAGE" if defined $ITEMS[4]; + push @args, "DEF:irqa05=rrd/irq.rrd:irq05:AVERAGE" if defined $ITEMS[5]; + push @args, "DEF:irqa06=rrd/irq.rrd:irq06:AVERAGE" if defined $ITEMS[6]; + push @args, "DEF:irqa07=rrd/irq.rrd:irq07:AVERAGE" if defined $ITEMS[7]; + push @args, "DEF:irqa08=rrd/irq.rrd:irq08:AVERAGE" if defined $ITEMS[8]; + push @args, "DEF:irqa09=rrd/irq.rrd:irq09:AVERAGE" if defined $ITEMS[9]; + push @args, "DEF:irqa10=rrd/irq.rrd:irq10:AVERAGE" if defined $ITEMS[10]; + push @args, "DEF:irqa11=rrd/irq.rrd:irq11:AVERAGE" if defined $ITEMS[11]; + push @args, "DEF:irqa12=rrd/irq.rrd:irq12:AVERAGE" if defined $ITEMS[12]; + push @args, "DEF:irqa13=rrd/irq.rrd:irq13:AVERAGE" if defined $ITEMS[13]; + push @args, "DEF:irqa14=rrd/irq.rrd:irq14:AVERAGE" if defined $ITEMS[14]; + push @args, "DEF:irqa15=rrd/irq.rrd:irq15:AVERAGE" if defined $ITEMS[15]; + push @args, "DEF:irqa16=rrd/irq.rrd:irq16:AVERAGE" if defined $ITEMS[16]; + push @args, "DEF:irqa17=rrd/irq.rrd:irq17:AVERAGE" if defined $ITEMS[17]; + + push @args, "AREA:irqxall#c0c0ff:total", "AREA:irqiall#ffffff:\\g", "GPRINT:irqiall:MIN: (min\\:%7.2lf %s /\\g", "GPRINT:irqaall:AVERAGE: avg\\:%7.2lf %s /\\g", @@ -757,57 +763,67 @@ "LINE1:irqxall#ff0000:", "LINE1:irqiall#00ff00:", "LINE1:irqaall#000000:", - "COMMENT:Averages (min/max):\\n", - "LINE2:irqa00#a00000:00".$ITEMS[0], + "COMMENT:Averages (min/max)\\:\\n"; + + push @args, "LINE2:irqa00#a00000:00".$ITEMS[0], "GPRINT:irqa00:MIN:%5.1lf%s/\\g", - "GPRINT:irqa00:MAX:%5.1lf%s", - "LINE2:irqa01#ff0000:01".$ITEMS[1], + "GPRINT:irqa00:MAX:%5.1lf%s\\n" if defined $ITEMS[0]; + push @args, "LINE2:irqa01#ff0000:01".$ITEMS[1], "GPRINT:irqa01:MIN:%5.1lf%s/\\g", - "GPRINT:irqa01:MAX:%5.1lf%s", - "LINE2:irqa02#ff5050:02".$ITEMS[2], + "GPRINT:irqa01:MAX:%5.1lf%s\\n" if defined $ITEMS[1]; + push @args, "LINE2:irqa02#ff5050:02".$ITEMS[2], "GPRINT:irqa02:MIN:%5.1lf%s/\\g", - "GPRINT:irqa02:MAX:%5.1lf%s", - "LINE2:irqa03#ffa0a0:03".$ITEMS[3], + "GPRINT:irqa02:MAX:%5.1lf%s\\n" if defined $ITEMS[2]; + push @args, "LINE2:irqa03#ffa0a0:03".$ITEMS[3], "GPRINT:irqa03:MIN:%5.1lf%s/\\g", - "GPRINT:irqa03:MAX:%5.1lf%s\\n", - "LINE2:irqa04#00a000:04".$ITEMS[4], + "GPRINT:irqa03:MAX:%5.1lf%s\\n" if defined $ITEMS[3]; + push @args, "LINE2:irqa04#00a000:04".$ITEMS[4], "GPRINT:irqa04:MIN:%5.1lf%s/\\g", - "GPRINT:irqa04:MAX:%5.1lf%s", - "LINE2:irqa05#00ff00:05".$ITEMS[5], + "GPRINT:irqa04:MAX:%5.1lf%s\\n" if defined $ITEMS[4]; + push @args, "LINE2:irqa05#00ff00:05".$ITEMS[5], "GPRINT:irqa05:MIN:%5.1lf%s/\\g", - "GPRINT:irqa05:MAX:%5.1lf%s", - "LINE2:irqa06#50ff50:06".$ITEMS[6], + "GPRINT:irqa05:MAX:%5.1lf%s\\n" if defined $ITEMS[5]; + push @args, "LINE2:irqa06#50ff50:06".$ITEMS[6], "GPRINT:irqa06:MIN:%5.1lf%s/\\g", - "GPRINT:irqa06:MAX:%5.1lf%s", - "LINE2:irqa07#a0ffa0:07".$ITEMS[7], + "GPRINT:irqa06:MAX:%5.1lf%s\\n" if defined $ITEMS[6]; + push @args, "LINE2:irqa07#a0ffa0:07".$ITEMS[7], "GPRINT:irqa07:MIN:%5.1lf%s/\\g", - "GPRINT:irqa07:MAX:%5.1lf%s\\n", - "LINE2:irqa08#0000a0:08".$ITEMS[8], + "GPRINT:irqa07:MAX:%5.1lf%s\\n" if defined $ITEMS[7]; + push @args, "LINE2:irqa08#0000a0:08".$ITEMS[8], "GPRINT:irqa08:MIN:%5.1lf%s/\\g", - "GPRINT:irqa08:MAX:%5.1lf%s", - "LINE2:irqa09#0000ff:09".$ITEMS[9], + "GPRINT:irqa08:MAX:%5.1lf%s\\n" if defined $ITEMS[8]; + push @args, "LINE2:irqa09#0000ff:09".$ITEMS[9], "GPRINT:irqa09:MIN:%5.1lf%s/\\g", - "GPRINT:irqa09:MAX:%5.1lf%s", - "LINE2:irqa10#5050ff:10".$ITEMS[10], + "GPRINT:irqa09:MAX:%5.1lf%s\\n" if defined $ITEMS[9]; + push @args, "LINE2:irqa10#5050ff:10".$ITEMS[10], "GPRINT:irqa10:MIN:%5.1lf%s/\\g", - "GPRINT:irqa10:MAX:%5.1lf%s", - "LINE2:irqa11#a0a0ff:11".$ITEMS[11], + "GPRINT:irqa10:MAX:%5.1lf%s\\n" if defined $ITEMS[10]; + push @args, "LINE2:irqa11#a0a0ff:11".$ITEMS[11], "GPRINT:irqa11:MIN:%5.1lf%s/\\g", - "GPRINT:irqa11:MAX:%5.1lf%s\\n", - "LINE2:irqa12#a000a0:12".$ITEMS[12], + "GPRINT:irqa11:MAX:%5.1lf%s\\n" if defined $ITEMS[11]; + push @args, "LINE2:irqa12#a000a0:12".$ITEMS[12], "GPRINT:irqa12:MIN:%5.1lf%s/\\g", - "GPRINT:irqa12:MAX:%5.1lf%s", - "LINE2:irqa13#ff00ff:13".$ITEMS[13], + "GPRINT:irqa12:MAX:%5.1lf%s\\n" if defined $ITEMS[12]; + push @args, "LINE2:irqa13#ff00ff:13".$ITEMS[13], "GPRINT:irqa13:MIN:%5.1lf%s/\\g", - "GPRINT:irqa13:MAX:%5.1lf%s", - "LINE2:irqa14#ff50ff:14".$ITEMS[14], + "GPRINT:irqa13:MAX:%5.1lf%s\\n" if defined $ITEMS[13]; + push @args, "LINE2:irqa14#ff50ff:14".$ITEMS[14], "GPRINT:irqa14:MIN:%5.1lf%s/\\g", - "GPRINT:irqa14:MAX:%5.1lf%s", - "LINE2:irqa15#ffa0ff:15".$ITEMS[15], + "GPRINT:irqa14:MAX:%5.1lf%s\\n" if defined $ITEMS[14]; + push @args, "LINE2:irqa15#ffa0ff:15".$ITEMS[15], "GPRINT:irqa15:MIN:%5.1lf%s/\\g", - "GPRINT:irqa15:MAX:%5.1lf%s", - "HRULE:0#000000"; - + "GPRINT:irqa15:MAX:%5.1lf%s\\n" if defined $ITEMS[15]; + push @args, "LINE2:irqa16#ff0000:16".$ITEMS[16], + "GPRINT:irqa16:MIN:%5.1lf%s/\\g", + "GPRINT:irqa16:MAX:%5.1lf%s\\n" if defined $ITEMS[16]; + push @args, "LINE2:irqa17#00ff00:17".$ITEMS[17], + "GPRINT:irqa17:MIN:%5.1lf%s/\\g", + "GPRINT:irqa17:MAX:%5.1lf%s\\n" if defined $ITEMS[17]; + + push @args, "HRULE:0#000000"; + + ($prints,$xs,$ys)=RRDs::graph @args; + rename $TEMPNAME,$FILENAME; printf " %-7s %d"."x%d %s\n",$descr,$xs,$ys,$FILENAME; diff -ur hotsanic-2.4/modules/system/makerrd hotsanic-2.6/modules/system/makerrd --- hotsanic-2.4/modules/system/makerrd 2004-01-25 05:33:44.000000000 +0100 +++ hotsanic-2.6/modules/system/makerrd 2007-11-20 04:19:11.000000000 +0100 @@ -287,6 +287,8 @@ DS:irq13:COUNTER:300:0:U \ DS:irq14:COUNTER:300:0:U \ DS:irq15:COUNTER:300:0:U \ + DS:irq16:COUNTER:300:0:U \ + DS:irq17:COUNTER:300:0:U \ RRA:AVERAGE:0:1:720 \ RRA:AVERAGE:0.3:6:2880 \ RRA:AVERAGE:0.3:60:2016 \ diff -ur hotsanic-2.4/modules/system/platform/linux.pm hotsanic-2.6/modules/system/platform/linux.pm --- hotsanic-2.4/modules/system/platform/linux.pm 2004-02-29 16:29:39.000000000 +0100 +++ hotsanic-2.6/modules/system/platform/linux.pm 2007-11-20 04:18:14.000000000 +0100 @@ -245,8 +245,8 @@ while () { (undef,@stats)=split if /intr/; } close FILE; - # need first 17 values from array - my $result=join(":",@stats[0..16]); + # need first 19 values from array + my $result=join(":",@stats[0..18]); if ( ! -e "rrd/irq.rrd" ) { system("./makerrd","irq") } RRDs::update "rrd/irq.rrd",time.":".$result;