tools/performance/layout/Averagetable2.pl

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/tools/performance/layout/Averagetable2.pl	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,487 @@
     1.4 +##########################################################################################
     1.5 +#
     1.6 +# This Source Code Form is subject to the terms of the Mozilla Public
     1.7 +# License, v. 2.0. If a copy of the MPL was not distributed with this
     1.8 +# file, You can obtain one at http://mozilla.org/MPL/2.0/.
     1.9 +
    1.10 +#------------------------------------------------------------------------------
    1.11 +sub debug_print {
    1.12 +  foreach $str (@_){
    1.13 +#    print( $str );
    1.14 +  }
    1.15 +}
    1.16 +#------------------------------------------------------------------------------
    1.17 +# get the arguments:
    1.18 +#------------------------------------------------------------------------------
    1.19 +@ARGV;
    1.20 +$UrlName = $ARGV[0];
    1.21 +$logFile = $ARGV[1];
    1.22 +$NumOfSites = $ARGV[2];
    1.23 +$buildRoot = $ARGV[3];
    1.24 +$LinkURL = $ARGV[4];
    1.25 +$useClockTime = $ARGV[5];
    1.26 +#$buildIDFile = '< '.$buildRoot.'\bin\chrome\locales\en-US\navigator\locale\navigator.dtd';
    1.27 +#$buildIDFile = "";
    1.28 +debug_print( "Arguments:[ $UrlName | $logFile | $NumOfSites | $buildRoot | $LinkURL | $useClockTime]\n");
    1.29 +
    1.30 +#------------------------------------------------------------------------------
    1.31 +# Open the ID file and get the build ID
    1.32 +#------------------------------------------------------------------------------
    1.33 +
    1.34 +#open (XUL_FILE, $buildIDFile) or die "Cannot open BuildID file $buildIDFile (AverageTable2.pl)\n";
    1.35 +#$BuildNo = "";
    1.36 +#$LineList;
    1.37 +#while (<XUL_FILE>)
    1.38 +#{
    1.39 +#  $ThisLine = $_;
    1.40 +#  chop ($ThisLine);
    1.41 +#  if (/Build ID/){
    1.42 +#    @LineList = split (/\"/, $ThisLine);
    1.43 +#    $BuildNo = $LineList[1];
    1.44 +#  }
    1.45 +#}
    1.46 +#@LineList = split (/ /, $BuildNo);
    1.47 +#$BuildNo = $LineList[2];
    1.48 +#$BuildNo =~ s/"//g;
    1.49 +#$BuildNo =~ s/[>]//g;
    1.50 +#debug_print ("Build Number: $BuildNo\n");
    1.51 +#close( XUL_FILE );
    1.52 +
    1.53 +#------------------------------------------------------------------------------
    1.54 +# Open the logfile (input)
    1.55 +# and the deviation file (output,append)
    1.56 +#------------------------------------------------------------------------------
    1.57 +open (LOG_FILE, "< $logFile") or die "Logfile $logFile could not be opened";
    1.58 +
    1.59 +#------------------------------------------------------------------------------
    1.60 +# Deviation file:
    1.61 +# Flat file used to calculate and display deviation between latest and
    1.62 +# week old builds data.
    1.63 +#
    1.64 +# Format of flat file is attributes separated by commas with no spaces as follows:
    1.65 +# BuildNo,date,url,parsingtime,parsingper,contenttime,contentper,frametime,
    1.66 +# frameper,styletime,styleper,reflowtime,reflowper,totallayouttime,totallayoutper,
    1.67 +# totalpageloadtime
    1.68 +($Second, $Minute, $Hour, $DayOfMonth, $Month, $Year, $WeekDay, $DayOfYear, $IsDST) = localtime (time);
    1.69 +$RealMonth = $Month + 1;
    1.70 +$Year += 1900;
    1.71 +$BuildNo = $RealMonth.$DayOfMonth.$Year;
    1.72 +$file = $BuildNo.".dat";
    1.73 +open (DEVIATION, ">> $file") or die "Deviation file could not be opened";
    1.74 +
    1.75 +# add entry to the deviation file
    1.76 +($Second, $Minute, $Hour, $DayOfMonth, $Month, $Year, $WeekDay, $DayOfYear, $IsDST) = localtime (time);
    1.77 +$RealMonth = $Month + 1;
    1.78 +$Year += 1900;
    1.79 +$date2 = $RealMonth.$DayOfMonth.$Year;
    1.80 +print (DEVIATION "$BuildNo,$date2,$UrlName,");
    1.81 +
    1.82 +#------------------------------------------------------------------------------
    1.83 +# local variables
    1.84 +#------------------------------------------------------------------------------
    1.85 +@List;
    1.86 +$Content_Time = 0;
    1.87 +$Reflow_Time = 0;
    1.88 +$FrameAndStyle_Time = 0;
    1.89 +$Frame_Time = 0;
    1.90 +$Style_Time = 0;
    1.91 +$Parse_Time = 0;
    1.92 +$TotalPageLoad_Time = 0;
    1.93 +$TotalLayout_Time = 0;
    1.94 +$Avg_Content_Time = 0;
    1.95 +$Avg_Reflow_Time = 0;
    1.96 +$Avg_FrameAndStyle_Time = 0;
    1.97 +$Avg_Frame_Time = 0;
    1.98 +$Avg_Style_Time = 0;
    1.99 +$Avg_Parse_Time = 0;
   1.100 +$Avg_TotalPageLoad_Time = 0;
   1.101 +$Avg_TotalLayout_Time = 0;
   1.102 +$Content_Time_Percentage = 0;
   1.103 +$Reflow_Time_Percentage = 0;
   1.104 +$FrameAndStyle_Time_Percentage = 0;
   1.105 +$Frame_Time_Percentage = 0;
   1.106 +$Style_Time_Percentage = 0;
   1.107 +$Parse_Time_Percentage = 0;
   1.108 +$TotalLayout_Time_Percentage = 0;
   1.109 +$Avg_Content_Time_Percentage = 0;
   1.110 +$Avg_Reflow_Time_Percentage = 0;
   1.111 +$Avg_FrameAndStyle_Time_Percentage = 0;
   1.112 +$Avg_Frame_Time_Percentage = 0;
   1.113 +$Avg_Style_Time_Percentage = 0;
   1.114 +$Avg_Parse_Time_Percentage = 0;
   1.115 +$Avg_TotalLayout_Time_Percentage = 0;
   1.116 +$Num_Entries = 0;
   1.117 +$valid = 0;
   1.118 +# $WebShell;
   1.119 +$temp;
   1.120 +$url;
   1.121 +$Content_Flag = 0;
   1.122 +$Reflow_Flag = 0;
   1.123 +$Style_Flag = 0;
   1.124 +$Parse_Flag = 0;
   1.125 +
   1.126 +#------------------------------------------------------------------------------
   1.127 +# Management of averages via average.txt file
   1.128 +#  NOTE: the averag.txt file is used to accumulate all performance times 
   1.129 +#        and keep track of the number of entries. When completed, the footer.pl 
   1.130 +#        script does the averaging by dividing the accumulated times by the
   1.131 +#        number of entries
   1.132 +#------------------------------------------------------------------------------
   1.133 +
   1.134 +# if first site, delete any old Average file (in case the caller did not)
   1.135 +#
   1.136 +if ( $NumOfSites == 1 ){
   1.137 +  unlink( "Average.txt" );
   1.138 +  debug_print( "Deleting file Average.txt\n" );
   1.139 +}
   1.140 +# load the averages data so we can accumulate it
   1.141 +#
   1.142 +if ( -r "Average.txt" ) {
   1.143 +  open (AVERAGE, "< Average.txt");
   1.144 +  while( <AVERAGE> ){
   1.145 +    $ThisLine = $_;
   1.146 +    chop ($ThisLine);
   1.147 +    
   1.148 +    if( /Num Entries:/ ){
   1.149 +       @list = split( / /, $ThisLine );
   1.150 +      $Num_Entries = $list[2];
   1.151 +      debug_print( "Num Entries: $Num_Entries\n" );
   1.152 +    }
   1.153 +    if( /Avg Parse:/ ){
   1.154 +      @list = split( / /, $ThisLine );
   1.155 +      $Avg_Parse_Time = $list[2];
   1.156 +      debug_print( "Avg Parse: $Avg_Parse_Time\n" );
   1.157 +    }  
   1.158 +    if( /Per Parse:/ ){
   1.159 +      @list = split( / /, $ThisLine );
   1.160 +      $Avg_Parse_Time_Percentage = $list[2];
   1.161 +      debug_print( "Per Parse: $Avg_Parse_Time_Percentage\n" );
   1.162 +    }  
   1.163 +    if( /Avg Content:/ ){
   1.164 +      @list = split( / /, $ThisLine );
   1.165 +      $Avg_Content_Time = $list[2];
   1.166 +      debug_print( "Avg Content: $Avg_Content_Time\n" );
   1.167 +    }  
   1.168 +    if( /Per Content:/ ){
   1.169 +      @list = split( / /, $ThisLine );
   1.170 +      $Avg_Content_Time_Percentage = $list[2];
   1.171 +      debug_print( "Per Content: $Avg_Content_Time_Percentage\n" );
   1.172 +    }  
   1.173 +    if( /Avg Frame:/ ){
   1.174 +      @list = split( / /, $ThisLine );
   1.175 +      $Avg_Frame_Time = $list[2];
   1.176 +      debug_print( "Avg Frame: $Avg_Frame_Time\n" );
   1.177 +    }  
   1.178 +    if( /Per Frame:/ ){
   1.179 +      @list = split( / /, $ThisLine );
   1.180 +      $Avg_Frame_Time_Percentage = $list[2];
   1.181 +      debug_print( "Per Frame: $Avg_Frame_Time_Percentage\n" );
   1.182 +    }  
   1.183 +    if( /Avg Style:/ ){
   1.184 +      @list = split( / /, $ThisLine );
   1.185 +      $Avg_Style_Time = $list[2];
   1.186 +      debug_print( "Avg Style: $Avg_Style_Time\n" );
   1.187 +    }  
   1.188 +    if( /Per Style:/ ){
   1.189 +      @list = split( / /, $ThisLine );
   1.190 +      $Avg_Style_Time_Percentage = $list[2];
   1.191 +      debug_print( "Per Style: $Avg_Style_Time_Percentage\n" );
   1.192 +    }  
   1.193 +    if( /Avg Reflow:/ ){
   1.194 +      @list = split( / /, $ThisLine );
   1.195 +      $Avg_Reflow_Time = $list[2];
   1.196 +      debug_print( "Avg Reflow: $Avg_Reflow_Time\n" );
   1.197 +    }  
   1.198 +    if( /Per Reflow:/ ){
   1.199 +      @list = split( / /, $ThisLine );
   1.200 +      $Avg_Reflow_Time_Percentage = $list[2];
   1.201 +      debug_print( "Per Reflow: $Avg_Reflow_Time_Percentage\n" );
   1.202 +    }  
   1.203 +    if( /Avg TotalLayout:/ ){
   1.204 +      @list = split( / /, $ThisLine );
   1.205 +      $Avg_TotalLayout_Time = $list[2];
   1.206 +      debug_print( "Avg TotalLayout: $Avg_TotalLayout_Time\n" );
   1.207 +    }  
   1.208 +    if( /Per Layout:/ ){
   1.209 +      @list = split( / /, $ThisLine );
   1.210 +      $Avg_TotalLayout_Time_Percentage = $list[2];
   1.211 +      debug_print( "Per Layout: $Avg_TotalLayout_Time_Percentage\n" );
   1.212 +    }  
   1.213 +    if( /Avg PageLoad:/ ){
   1.214 +      @list = split( / /, $ThisLine );
   1.215 +      $Avg_TotalPageLoad_Time = $list[2];
   1.216 +      debug_print( "Avg PageLoad: $Avg_TotalPageLoad_Time\n" );
   1.217 +    }  
   1.218 +  }
   1.219 +  print (AVERAGE "Avg PageLoad: $Avg_TotalPageLoad_Time\n");
   1.220 +  close (AVERAGE);
   1.221 +}
   1.222 +
   1.223 +#------------------------------------------------------------------------------
   1.224 +# now run through the log file and process the performance data
   1.225 +#------------------------------------------------------------------------------
   1.226 +$IsValidURL = 0;
   1.227 +while (<LOG_FILE>)
   1.228 +{
   1.229 +  $ThisLine = $_;
   1.230 +  chop ($ThisLine);
   1.231 +
   1.232 +  if (/Timing layout/)
   1.233 +  {
   1.234 +#    @List = split (/webshell: /, $ThisLine);
   1.235 +#    $WebShell = $List[1];
   1.236 +#    $WebShell = "(webBrowserChrome=".$WebShell;
   1.237 +#    $WebShell = $WebShell."):";
   1.238 +#    debug_print( "$WebShell\n" );
   1.239 +
   1.240 +    @List = split (/'/, $ThisLine);
   1.241 +    $url = $List[1];
   1.242 +    debug_print( "(URI: $url) " );
   1.243 +    if( $url =~ /$LinkURL/ ){
   1.244 +      debug_print( "$url is the one!\n" );
   1.245 +      $IsValidURL = 1;
   1.246 +    } else {
   1.247 +      debug_print( "Skipping URL $url\n" );
   1.248 +      $IsValidURL = 0;
   1.249 +    }
   1.250 +  }
   1.251 +  if (/Content/){
   1.252 +    if ($IsValidURL == 1){
   1.253 +      @List = split (/ /, $ThisLine);
   1.254 +      if($useClockTime){
   1.255 +        @clockTimeList = split(/:/, $List[6]);
   1.256 +        $Content_Time += $clockTimeList[2];
   1.257 +      } else {
   1.258 +        $Content_Time += $List[9];
   1.259 +      }
   1.260 +      $Content_Flag = 1;
   1.261 +      debug_print( "Content Time: $Content_Time\n" );
   1.262 +    }
   1.263 +  }
   1.264 +  if (/Reflow/){
   1.265 +    if ($IsValidURL == 1){
   1.266 +      @List = split (/ /, $ThisLine);
   1.267 +      if($useClockTime){
   1.268 +        @clockTimeList = split(/:/, $List[5]);
   1.269 +        $Reflow_Time += $clockTimeList[2];
   1.270 +      } else {
   1.271 +        $Reflow_Time += $List[8];
   1.272 +      }
   1.273 +      $Reflow_Flag = 1;
   1.274 +      debug_print( "Reflow Time: $Reflow_Time\n" );
   1.275 +    }
   1.276 +  }
   1.277 +  if (/Frame construction plus/){
   1.278 +    if ($IsValidURL == 1){
   1.279 +      @List = split (/ /, $ThisLine);
   1.280 +      if($useClockTime){
   1.281 +        @clockTimeList = split(/:/, $List[9]);
   1.282 +        $FrameAndStyle_Time += $clockTimeList[2];
   1.283 +      } else {
   1.284 +        $FrameAndStyle_Time += $List[12];
   1.285 +      }
   1.286 +      debug_print( "Frame and Style Time: $FrameAndStyle_Time\n" );
   1.287 +    }
   1.288 +  }
   1.289 +  if (/Style/){
   1.290 +    if ($IsValidURL == 1){
   1.291 +      @List = split (/ /, $ThisLine);
   1.292 +      if($useClockTime){
   1.293 +        @clockTimeList = split(/:/, $List[6]);
   1.294 +        $Style_Time += $clockTimeList[2];
   1.295 +      } else {
   1.296 +        $Style_Time += $List[9];
   1.297 +      }
   1.298 +      $Style_Flag = 1;
   1.299 +      debug_print( "Style Time: $Style_Time\n" );
   1.300 +    }
   1.301 +  }
   1.302 +  if (/Parse/){
   1.303 +    if ($IsValidURL == 1){
   1.304 +      @List = split (/ /, $ThisLine);
   1.305 +      if($useClockTime){
   1.306 +        @clockTimeList = split(/:/, $List[5]);
   1.307 +        $Parse_Time += $clockTimeList[2];
   1.308 +      } else {
   1.309 +        $Parse_Time += $List[8];
   1.310 +      }
   1.311 +      $Parse_Flag = 1;
   1.312 +      debug_print( "Parse Time: $Parse_Time\n" );
   1.313 +    }
   1.314 +  }
   1.315 +  if (/Total/){
   1.316 +    if ($IsValidURL == 1){
   1.317 +      @List = split (/ /, $ThisLine);
   1.318 +      $temp = $List[6];
   1.319 +      if (
   1.320 +#          ($temp == $WebShell) && 
   1.321 +          ($Parse_Flag == 1) && 
   1.322 +          ($Content_Flag == 1) && 
   1.323 +          ($Reflow_Flag == 1) && 
   1.324 +          ($Style_Flag == 1)){
   1.325 +        $TotalPageLoad_Time = $List[12];
   1.326 +        debug_print( "Total Page Load_Time Time: $TotalPageLoad_Time\n" );
   1.327 +        $Content_Flag = 0;
   1.328 +        $Reflow_Flag = 0;
   1.329 +        $Style_Flag = 0;
   1.330 +        $Parse_Flag = 0;
   1.331 +      }
   1.332 +    }
   1.333 +  }
   1.334 +}
   1.335 +
   1.336 +#------------------------------------------------------------------------------
   1.337 +# Calculate the significant time values
   1.338 +#------------------------------------------------------------------------------
   1.339 +$Frame_Time = $FrameAndStyle_Time - $Style_Time;
   1.340 +if($Frame_Time < 0.0){
   1.341 +  print( "\n***** ERROR: negative FrameTime *****\n");
   1.342 +  $Frame_Time = 0;
   1.343 +}
   1.344 +$TotalLayout_Time = $Content_Time + $Reflow_Time + $Frame_Time + $Style_Time + $Parse_Time;
   1.345 +$Avg_Time = $Avg_Time + $TotalLayoutTime + $TotalPageLoad_Time;
   1.346 +
   1.347 +if( $TotalLayout_Time > 0 ){
   1.348 +  if ($Content_Time != 0)
   1.349 +  {
   1.350 +    $Content_Time_Percentage = ($Content_Time / $TotalLayout_Time) * 100;
   1.351 +  }
   1.352 +  if ($Reflow_Time != 0)
   1.353 +  {
   1.354 +    $Reflow_Time_Percentage = ($Reflow_Time / $TotalLayout_Time) * 100;
   1.355 +  }
   1.356 +  if ($Frame_Time != 0)
   1.357 +  {
   1.358 +    $Frame_Time_Percentage = ($Frame_Time / $TotalLayout_Time) * 100;
   1.359 +  }
   1.360 +  if ($Style_Time != 0)
   1.361 +  {
   1.362 +    $Style_Time_Percentage = ($Style_Time / $TotalLayout_Time) * 100;
   1.363 +  }
   1.364 +  if ($Parse_Time != 0)
   1.365 +  {
   1.366 +    $Parse_Time_Percentage = ($Parse_Time / $TotalLayout_Time) * 100;
   1.367 +  }
   1.368 +  if( $TotalPageLoad_Time > 0 ){
   1.369 +    $TotalLayout_Time_Percentage =  ($TotalLayout_Time / $TotalPageLoad_Time) * 100;
   1.370 +  } else {
   1.371 +    $TotalLayout_Time_Percentage =  100;
   1.372 +  }
   1.373 +}
   1.374 +
   1.375 +#------------------------------------------------------------------------------
   1.376 +# Add current values to those in the averages-fields
   1.377 +#------------------------------------------------------------------------------
   1.378 +$Avg_Content_Time += $Content_Time;
   1.379 +$Avg_Reflow_Time += $Reflow_Time;
   1.380 +$Avg_Frame_Time += $Frame_Time;
   1.381 +$Avg_Style_Time += $Style_Time;
   1.382 +$Avg_Parse_Time += $Parse_Time;
   1.383 +$Avg_TotalPageLoad_Time += $TotalPageLoad_Time;
   1.384 +$Avg_TotalLayout_Time += $TotalLayout_Time;
   1.385 +
   1.386 +$Avg_Content_Time_Percentage += $Content_Time_Percentage;
   1.387 +$Avg_Reflow_Time_Percentage += $Reflow_Time_Percentage;
   1.388 +$Avg_Frame_Time_Percentage += $Frame_Time_Percentage;
   1.389 +$Avg_Style_Time_Percentage += $Style_Time_Percentage;
   1.390 +$Avg_Parse_Time_Percentage += $Parse_Time_Percentage;
   1.391 +$Avg_TotalLayout_Time_Percentage += $TotalLayout_Time_Percentage;
   1.392 +
   1.393 +$Num_Entries += 1;
   1.394 +
   1.395 +#------------------------------------------------------------------------------
   1.396 +# Now write this site's data to the table
   1.397 +#------------------------------------------------------------------------------
   1.398 +open (TABLE_FILE, ">>table.html");
   1.399 +
   1.400 +print (TABLE_FILE "<tr>");
   1.401 +
   1.402 +print (TABLE_FILE "<td BGCOLOR='#FFFFFF'>");
   1.403 +print (TABLE_FILE "<center><a href='$LinkURL'>$UrlName</a></center>");
   1.404 +print (TABLE_FILE "</td>");
   1.405 +
   1.406 +print (TABLE_FILE "<td BGCOLOR='#FFFFFF'>");
   1.407 +printf (TABLE_FILE "<center>%4.2f</center>",$Parse_Time);
   1.408 +print (DEVIATION "$Parse_Time,");
   1.409 +print (TABLE_FILE "</td>");
   1.410 +
   1.411 +print (TABLE_FILE "<td BGCOLOR='#FFFF00'>");
   1.412 +printf (TABLE_FILE "<center>%4.2f</center>",$Parse_Time_Percentage);
   1.413 +print (DEVIATION "$Parse_Time_Percentage,");
   1.414 +print (TABLE_FILE "</td>");
   1.415 +
   1.416 +print (TABLE_FILE "<td BGCOLOR='#FFFFFF'>");
   1.417 +printf (TABLE_FILE "<center>%4.2f</center>",$Content_Time);
   1.418 +print (DEVIATION "$Content_Time,");
   1.419 +print (TABLE_FILE "</td>");
   1.420 +
   1.421 +print (TABLE_FILE "<td BGCOLOR='#FFFF00'>");
   1.422 +printf (TABLE_FILE "<center>%4.2f</center>",$Content_Time_Percentage);
   1.423 +print (DEVIATION "$Content_Time_Percentage,");
   1.424 +print (TABLE_FILE "</td>");
   1.425 +
   1.426 +print (TABLE_FILE "<td BGCOLOR='#FFFFFF'>");
   1.427 +printf (TABLE_FILE "<center>%4.2f</center>",$Frame_Time);
   1.428 +print (DEVIATION "$Frame_Time,");
   1.429 +print (TABLE_FILE "</td>");
   1.430 +
   1.431 +print (TABLE_FILE "<td BGCOLOR='#FFFF00'>");
   1.432 +printf (TABLE_FILE "<center>%4.2f</center>",$Frame_Time_Percentage);
   1.433 +print (DEVIATION "$Frame_Time_Percentage,");
   1.434 +print (TABLE_FILE "</td>");
   1.435 +
   1.436 +print (TABLE_FILE "<td BGCOLOR='#FFFFFF'>");
   1.437 +printf (TABLE_FILE "<center>%4.2f</center>",$Style_Time);
   1.438 +print (DEVIATION "$Style_Time,");
   1.439 +print (TABLE_FILE "</td>");
   1.440 +
   1.441 +print (TABLE_FILE "<td BGCOLOR='#FFFF00'>");
   1.442 +printf (TABLE_FILE "<center>%4.2f</center>",$Style_Time_Percentage);
   1.443 +print (DEVIATION "$Style_Time_Percentage,");
   1.444 +print (TABLE_FILE "</td>");
   1.445 +
   1.446 +print (TABLE_FILE "<td BGCOLOR='#FFFFFF'>");
   1.447 +printf (TABLE_FILE "<center>%4.2f</center>",$Reflow_Time);
   1.448 +print (DEVIATION "$Reflow_Time,");
   1.449 +print (TABLE_FILE "</td>");
   1.450 +
   1.451 +print (TABLE_FILE "<td BGCOLOR='#FFFF00'>");
   1.452 +printf (TABLE_FILE "<center>%4.2f</center>",$Reflow_Time_Percentage);
   1.453 +print (DEVIATION "$Reflow_Time_Percentage,");
   1.454 +print (TABLE_FILE "</td>");
   1.455 +
   1.456 +print (TABLE_FILE "<td BGCOLOR='#FFFFFF'>");
   1.457 +printf (TABLE_FILE "<center>%4.2f</center>",$TotalLayout_Time);
   1.458 +print (DEVIATION "$TotalLayout_Time,");
   1.459 +print (TABLE_FILE "</td>");
   1.460 +
   1.461 +print (TABLE_FILE "<td BGCOLOR='#FFFF00'>");
   1.462 +printf (TABLE_FILE "<center>%4.2f</center>",$TotalLayout_Time_Percentage);
   1.463 +print (DEVIATION "$TotalLayout_Time_Percentage,");
   1.464 +print (TABLE_FILE "</td>");
   1.465 +
   1.466 +print (TABLE_FILE "<td BGCOLOR='#FFFFFF'>");
   1.467 +printf (TABLE_FILE "<center>%4.2f</center>",$TotalPageLoad_Time);
   1.468 +print (DEVIATION "$TotalPageLoad_Time\n");
   1.469 +print (TABLE_FILE "</td>");
   1.470 +
   1.471 +print (TABLE_FILE "</tr>\n");
   1.472 +
   1.473 +close (LOG_FILE);
   1.474 +
   1.475 +open (AVERAGE, "> Average.txt");
   1.476 +print (AVERAGE "Num Entries: $Num_Entries\n");
   1.477 +print (AVERAGE "Avg Parse: $Avg_Parse_Time\n");
   1.478 +print (AVERAGE "Per Parse: $Avg_Parse_Time_Percentage\n");
   1.479 +print (AVERAGE "Avg Content: $Avg_Content_Time\n");
   1.480 +print (AVERAGE "Per Content: $Avg_Content_Time_Percentage\n");
   1.481 +print (AVERAGE "Avg Frame: $Avg_Frame_Time\n");
   1.482 +print (AVERAGE "Per Frame: $Avg_Frame_Time_Percentage\n");
   1.483 +print (AVERAGE "Avg Style: $Avg_Style_Time\n");
   1.484 +print (AVERAGE "Per Style: $Avg_Style_Time_Percentage\n");
   1.485 +print (AVERAGE "Avg Reflow: $Avg_Reflow_Time\n");
   1.486 +print (AVERAGE "Per Reflow: $Avg_Reflow_Time_Percentage\n");
   1.487 +print (AVERAGE "Avg TotalLayout: $Avg_TotalLayout_Time\n");
   1.488 +print (AVERAGE "Per Layout: $Avg_TotalLayout_Time_Percentage\n");
   1.489 +print (AVERAGE "Avg PageLoad: $Avg_TotalPageLoad_Time\n");
   1.490 +close (AVERAGE);

mercurial