1#!/usr/bin/perl 2 3{ 4 header(); 5 my $line; 6 while($line = <STDIN>) 7 { 8 while($line =~ /^name,/) 9 { 10 $line = <STDIN>; 11 } 12 process($line); 13 } 14 footer(); 15} 16 17sub header 18{ 19 print <<END; 20<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> 21<HTML> 22<HEAD><TITLE>Bonnie++ V1.03d Benchmark results</TITLE> 23<STYLE type="text/css"> 24TD.header {text-align: center; backgroundcolor: "#CCFFFF" } 25TD.rowheader {text-align: center; backgroundcolor: "#CCCFFF" } 26TD.size {text-align: center; backgroundcolor: "#CCCFFF" } 27TD.ksec {text-align: center; fontstyle: italic } 28</STYLE> 29<BODY> 30<TABLE ALIGN=center BORDER=3 CELLPADDING=2 CELLSPACING=1> 31<TR><TD COLSPAN=2 class="header"></TD> 32<TD COLSPAN=6 class="header"><FONT SIZE=+2><B>Sequential Output</B></FONT></TD> 33<TD COLSPAN=4 class="header"><FONT SIZE=+2><B>Sequential Input</B></FONT></TD> 34<TD COLSPAN=2 ROWSPAN=2 class="header"><FONT SIZE=+2><B>Random<BR>Seeks</B></FONT></TD> 35<TD COLSPAN=1 class="header"></TD> 36<TD COLSPAN=6 class="header"><FONT SIZE=+2><B>Sequential Create</B></FONT></TD> 37<TD COLSPAN=6 class="header"><FONT SIZE=+2><B>Random Create</B></FONT></TD> 38</tr> 39END 40 print "<TR><TD></TD>"; 41 print "<TD>Size:Chunk Size</TD>"; 42 heading("Per Char"); heading("Block"); heading("Rewrite"); 43 heading("Per Char"); heading("Block"); 44 print "<TD>Num Files</TD>"; 45 heading("Create"); heading("Read"); heading("Delete"); 46 heading("Create"); heading("Read"); heading("Delete"); 47 print "</TR>"; 48 49 print "<TR><TD COLSPAN=2></TD>"; 50 my $i; 51 52 for($i = 0; $i < 5; $i++) 53 { 54 print '<TD class="ksec"><FONT SIZE=-2>K/sec</FONT></TD>' 55 . '<TD class="ksec"><FONT SIZE=-2>% CPU</FONT></TD>'; 56 } 57 print '<TD class="ksec"><FONT SIZE=-2>/ sec</FONT></TD>' 58 . '<TD class="ksec"><FONT SIZE=-2>% CPU</FONT></TD>'; 59 print "<TD></TD>"; 60 for($i = 0; $i < 6; $i++) 61 { 62 print '<TD class="ksec"><FONT SIZE=-2>/ sec</FONT></TD>' 63 . '<TD class="ksec"><FONT SIZE=-2>% CPU</FONT></TD>'; 64 } 65 print "</TR>\n"; 66} 67 68sub heading 69{ 70 my($item) = @_; 71 print "<TD COLSPAN=2>" . $item . "</TD>"; 72} 73 74sub footer 75{ 76 print <<END; 77</TABLE> 78</BODY> 79</HTML> 80END 81} 82 83sub process 84{ 85 my($line) = @_; 86 87 chop($line); 88 my $name = $line; 89 $name =~ s/,.*$//; 90 $line =~ s/$name,//; 91 my $size = $line; 92 $size =~ s/,.*$//; 93 $line =~ s/$size,//; 94 print '<TR><TD class="rowheader"><FONT SIZE=+1><B>' 95 . $name . "</B></FONT></TD>"; 96 print '<TD class="size">' . $size . "</TD>"; 97 98 99 $line =~ s/,/<\/TD><TD>/g; 100 print "<TD>" . $line . "</TD></TR>\n"; 101} 102