tools/performance/layout/history.pl

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 ##########################################################################################
     2 #
     3 # This Source Code Form is subject to the terms of the Mozilla Public
     4 # License, v. 2.0. If a copy of the MPL was not distributed with this
     5 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
     7 #------------------------------------------------------------------------------
     8 sub debug_print {
     9   foreach $str (@_){
    10 #    print( $str );
    11   }
    12 }
    15 #------------------------------------------------------------------------------
    16 # Variables
    17 #------------------------------------------------------------------------------
    18 $Parse_Time_Max=0;
    19 $Content_Time_Max=0;
    20 $Frame_Time_Max=0;
    21 $Style_Time_Max=0;
    22 $Reflow_Time_Max=0;
    23 $Layout_Time_Max=0;
    24 $Total_Time_Max=0;
    26 @RecordList;
    27 @LineList;
    29 #------------------------------------------------------------------------------
    30 # Open the history file and begin by collecting the records into the data-arrays
    31 # and set all of the max-values too
    32 #------------------------------------------------------------------------------
    33 $count=0;
    34 open( HISTORY, "History.txt" ) or die "History file could not be opened\n";
    35 while(<HISTORY>)
    36 {
    37   my $PullID;
    38   my $BuildID;
    39   # - Time variables
    40   my $Parse_Time=0;
    41   my $Content_Time=0;
    42   my $Frame_Time=0;
    43   my $Style_Time=0;
    44   my $Reflow_Time=0;
    45   my $Layout_Time=0;
    46   my $Total_Time=0;
    47   # - percentage variables
    48   my $Parse_Per=0;
    49   my $Content_Per=0;
    50   my $Frame_Per=0;
    51   my $Style_Per=0;
    52   my $Reflow_Per=0;
    53   my $Layout_Per=0;
    55   $i=0;
    56   $ThisLine = $_;
    57   chop( $Thisline );
    58   @LineList = split( /,/, $ThisLine );
    60   # get each value into a variable
    61   $PullID = $LineList[$i++];
    62   $RecordList[$count++] = $PullID;
    63   debug_print( "PullID : $PullID \n" );
    64   $BuildID = $LineList[$i++];
    65   $RecordList[$count++] = $BuildID;
    66   debug_print( "BuildID : $BuildID \n" );
    68   $Parse_Time = $LineList[$i++];
    69   $RecordList[$count++] = $Parse_Time;
    70   debug_print( "Parse_Time : $Parse_Time \n" );
    71   $Parse_Per =  $LineList[$i++];
    72   $RecordList[$count++] = $Parse_Per;
    73   debug_print( "Parse_Per : $Parse_Per \n" );
    74   $Content_Time = $LineList[$i++];
    75   $RecordList[$count++] = $Content_Time;
    76   debug_print( "Content_Time : $Content_Time \n" );
    77   $Content_Per = $LineList[$i++];
    78   $RecordList[$count++] = $Content_Per;
    79   debug_print( "Content_Per : $Content_Per \n" );
    80   $Frame_Time = $LineList[$i++];
    81   $RecordList[$count++] = $Frame_Time;
    82   debug_print( "Frame_Time : $Frame_Time \n" );
    83   $Frame_Per = $LineList[$i++];
    84   $RecordList[$count++] = $Frame_Per;
    85   debug_print( "Frame_Per : $Frame_Per \n" );
    86   $Style_Time = $LineList[$i++];
    87   $RecordList[$count++] = $Style_Time;
    88   debug_print( "Style_Time : $Style_Time \n" );
    89   $Style_Per = $LineList[$i++];
    90   $RecordList[$count++] = $Style_Per;
    91   debug_print( "Style_Per : $Style_Per \n" );
    92   $Reflow_Time = $LineList[$i++];
    93   $RecordList[$count++] = $Reflow_Time;
    94   debug_print( "Reflow_Time : $Reflow_Time \n" );
    95   $Reflow_Per = $LineList[$i++];
    96   $RecordList[$count++] = $Reflow_Per;
    97   debug_print( "Reflow_Per : $Reflow_Per \n" );
    98   $Layout_Time = $LineList[$i++];
    99   $RecordList[$count++] = $Layout_Time;
   100   debug_print( "Layout_Time : $Layout_Time \n" );
   101   $Layout_Per = $LineList[$i++];
   102   $RecordList[$count++] = $Layout_Per;
   103   debug_print( "Layout_Per : $Layout_Per \n" );
   104   $Total_Time = $LineList[$i++];
   105   $RecordList[$count++] = $Total_Time;
   106   debug_print( "Total_Time : $Total_Time \n" );
   108   # Now check for max values
   109   if( $Parse_Time > $Parse_Time_Max ){
   110     $Parse_Time_Max = $Parse_Time;
   111     debug_print( "ParseTimeMax: .$Parse_Time_Max\n");
   112   }
   113   if( $Content_Time > $Content_Time_Max ){
   114     $Content_Time_Max = $Content_Time;
   115     debug_print( "Content_Time_Max: $Content_Time_Max\n");
   116   }
   117   if( $Frame_Time > $Frame_Time_Max ){
   118     $Frame_Time_Max = $Frame_Time;
   119     debug_print( "Frame_Time_Max: $Frame_Time_Max\n");
   120   }
   121   if( $Style_Time > $Style_Time_Max ){
   122     $Style_Time_Max = $Style_Time;
   123     debug_print( "Style_Time_Max: $Style_Time_Max\n");
   124   }
   125   if( $Reflow_Time > $Reflow_Time_Max ){
   126     $Reflow_Time_Max = $Reflow_Time;
   127     debug_print( "Reflow_Time_Max: $Reflow_Time_Max\n");
   128   }
   129   if( $Layout_Time > $Layout_Time_Max ){
   130     $Layout_Time_Max = $Layout_Time;
   131     debug_print( "Layout_Time_Max: $Layout_Time_Max\n");
   132   }
   134   if( $Total_Time > $Total_Time_Max ){
   135     $Total_Time_Max = $Total_Time;
   136     debug_print( "Total_Time_Max: $Total_Time_Max\n");
   137   }
   138 }
   139 close(HISTORY);
   141 for $foo (@RecordList){
   142 #  print( "FOO: $foo \n" );
   143 }
   144 ProcessHeader();
   145 for($index=0; $index<($count/15); $index++)
   146 {
   147   my $start = 15*$index;
   148   my $end = $start+15;
   149   print( "Start: $start  -> End: $end\n");
   150   my @entry = @RecordList[$start..$end];
   151   print( "Processing entry $index\n");
   152   ProcessEntry( @entry );
   153 }
   154 ProcessFooter();
   156 #------------------------------------------------------------------------------
   157 #
   158 sub ProcessHeader {
   159   debug_print("ProcessHeader\n");
   161   ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst)=localtime;
   162   %weekday= (
   163     "1", "$day",
   164     '2', 'Tuesday',
   165     '3', 'Wednesday',
   166     '4', 'Thursday',
   167     '5', 'Friday',
   168     '6', 'Saturday',
   169     '7', 'Sunday',
   170   );
   171   $mon += 1;
   172   $year += 1900;
   174   open(TRENDTABLE, "> TrendTable.html") or die "Cannot open trend-table file (TrendTable.html) in ProcessHeader\n";
   175   print(TRENDTABLE "<!-- Generated by history.pl part of the Gecko PerfTools -->\n");
   176   print(TRENDTABLE "<BODY>\n" );
   177   print(TRENDTABLE "<H2 align=center><font color='maroon'>Performance History and Trending Table</font></H2><BR>\n" );
   178   print (TRENDTABLE "<center><font size=-1>");
   179   print (TRENDTABLE "$weekday{$wday} ");
   180   print (TRENDTABLE "$mon/$mday/$year ");
   181   printf (TRENDTABLE "%02d:%02d:%02d", $hour, $min, $sec);
   182   print (TRENDTABLE "</font></center>");
   183   print (TRENDTABLE "<BR>");
   184   print(TRENDTABLE "<!-- First the headings (static) -->\n" );
   185   print(TRENDTABLE "<TABLE BORDER=1 width=99% BGCOLOR='white'>\n" );
   186   print(TRENDTABLE "<TR >\n" );
   187   print(TRENDTABLE "<TD ROWSPAN=2 width=5% align=center valign=top BGCOLOR='#E0E0E0'>\n" );
   188   print(TRENDTABLE "<B>Pull-ID</B>\n" );
   189   print(TRENDTABLE "</TD>\n" );
   190   print(TRENDTABLE "<TD ROWSPAN=2 align=center width=5% valign=top BGCOLOR='#E0E0E0'>\n" );
   191   print(TRENDTABLE "<B>Build-ID</B>\n" );
   192   print(TRENDTABLE "</TD>\n" );
   193   print(TRENDTABLE "<TD ROWSPAN=1 align=center width=10% valign=top BGCOLOR='#E0E0E0'>\n" );
   194   print(TRENDTABLE "<B>Parsing</B>\n" );
   195   print(TRENDTABLE "</TD>\n" );
   196   print(TRENDTABLE "<TD ROWSPAN=1 align=center width=10% valign=top BGCOLOR='#E0E0E0'>\n" );
   197   print(TRENDTABLE "<B>Content Creation</B>\n" );
   198   print(TRENDTABLE "</TD>\n" );
   199   print(TRENDTABLE "<TD ROWSPAN=1 align=center width=10% valign=top BGCOLOR='#E0E0E0'>\n" );
   200   print(TRENDTABLE "<B>Frame Creation</B>\n" );
   201   print(TRENDTABLE "</TD>\n" );
   202   print(TRENDTABLE "<TD ROWSPAN=1 align=center width=10% valign=top BGCOLOR='#E0E0E0'>\n" );
   203   print(TRENDTABLE "<B>Style Resolution</B>\n" );
   204   print(TRENDTABLE "</TD>\n" );
   205   print(TRENDTABLE "<TD ROWSPAN=1 align=center width=10% valign=top BGCOLOR='#E0E0E0'>\n" );
   206   print(TRENDTABLE "<B>Reflow</B>\n" );
   207   print(TRENDTABLE "</TD>\n" );
   208   print(TRENDTABLE "<TD ROWSPAN=1 align=center width=10% valign=top BGCOLOR='#E0E0E0'>\n" );
   209   print(TRENDTABLE "<B>Total Layout</B>\n" );
   210   print(TRENDTABLE "<TD ROWSPAN=1 align=center width=10% valign=top BGCOLOR='#E0E0E0'>\n" );
   211   print(TRENDTABLE "<B>Total Time</B>\n" );
   212   print(TRENDTABLE "</TD>\n" );
   213   print(TRENDTABLE "</TR>\n" );
   214   print(TRENDTABLE "<TD>\n" );
   215   print(TRENDTABLE "<TABLE BORDER=0 width=100% align=center BGCOLOR='#E0E0E0'>\n" );
   216   print(TRENDTABLE "<TR><TD BGCOLOR='#FFFFC6' align=left width=50%>Sec</TD><TD BGCOLOR='#CFEEF7' align=right width=50%>%</TD></TR></TABLE>\n" );
   217   print(TRENDTABLE "</TD>\n" );
   218   print(TRENDTABLE "<TD>\n" );
   219   print(TRENDTABLE "<TABLE BORDER=0 width=100% align=center BGCOLOR='#E0E0E0'>\n" );
   220   print(TRENDTABLE "<TR><TD BGCOLOR='#FFFFC6' align=left width=50%>Sec</TD><TD BGCOLOR='#CFEEF7' align=right width=50%>%</TD></TR></TABLE>\n" );
   221   print(TRENDTABLE "</TD>\n" );
   222   print(TRENDTABLE "<TD>\n" );
   223   print(TRENDTABLE "<TABLE BORDER=0 width=100% align=center BGCOLOR='#E0E0E0'>\n" );
   224   print(TRENDTABLE "<TR><TD BGCOLOR='#FFFFC6' align=left width=50%>Sec</TD><TD BGCOLOR='#CFEEF7' align=right width=50%>%</TD></TR></TABLE>\n" );
   225   print(TRENDTABLE "</TD>\n" );
   226   print(TRENDTABLE "<TD>\n" );
   227   print(TRENDTABLE "<TABLE BORDER=0 width=100% align=center BGCOLOR='#E0E0E0'>\n" );
   228   print(TRENDTABLE "<TR><TD BGCOLOR='#FFFFC6' align=left width=50%>Sec</TD><TD BGCOLOR='#CFEEF7' align=right width=50%>%</TD></TR></TABLE>\n" );
   229   print(TRENDTABLE "</TD>\n" );
   230   print(TRENDTABLE "<TD>\n" );
   231   print(TRENDTABLE "<TABLE BORDER=0 width=100% align=center BGCOLOR='#E0E0E0'>\n" );
   232   print(TRENDTABLE "<TR><TD BGCOLOR='#FFFFC6' align=left width=50%>Sec</TD><TD BGCOLOR='#CFEEF7' align=right width=50%>%</TD></TR></TABLE>\n" );
   233   print(TRENDTABLE "</TD>\n" );
   234   print(TRENDTABLE "<TD>\n" );
   235   print(TRENDTABLE "<TABLE BORDER=0 width=100% align=center BGCOLOR='#E0E0E0'>\n" );
   236   print(TRENDTABLE "<TR><TD BGCOLOR='#FFFFC6' align=left width=50%>Sec</TD><TD BGCOLOR='#CFEEF7' align=right width=50%>%</TD></TR></TABLE>\n" );
   237   print(TRENDTABLE "</TD>\n" );
   238   print(TRENDTABLE "<TD>\n" );
   239   print(TRENDTABLE "<TABLE BORDER=0 width=100% align=center BGCOLOR='#E0E0E0'>\n" );
   240   print(TRENDTABLE "<TR><TD BGCOLOR='#FFFFC6' align=left width=100%>Sec</TD></TR></TABLE>\n" );
   241   print(TRENDTABLE "</TD>\n" );
   242   close(TRENDTABLE);
   243 }
   245 #------------------------------------------------------------------------------
   246 #
   247 sub ProcessEntry {
   249   my $PullID;
   250   my $BuildID;
   251   # - Time variables
   252   my $Parse_Time=0;
   253   my $Content_Time=0;
   254   my $Frame_Time=0;
   255   my $Style_Time=0;
   256   my $Reflow_Time=0;
   257   my $Layout_Time=0;
   258   my $Total_Time=0;
   259   # - percentage variables
   260   my $Parse_Per=0;
   261   my $Content_Per=0;
   262   my $Frame_Per=0;
   263   my $Style_Per=0;
   264   my $Reflow_Per=0;
   265   my $Layout_Per=0;
   266   # - weight variables
   267   my $Parse_Weight=0;
   268   my $Content_Weight=0;
   269   my $Frame_Weight=0;
   270   my $Style_Weight=0;
   271   my $Reflow_Weight=0;
   272   my $Layout_Weight=0;
   273   my $Total_Weight=0;
   275   debug_print( "Process Entry\n" );
   276   my @EntryLine =@_;
   278   open(TRENDTABLE, ">> TrendTable.html") or die "Cannot open trend-table file (TrendTable.html) in ProcessHeader\n";
   279   $i=0;
   280   $PullID = $EntryLine[$i++];
   281   debug_print( "PullID: $PullID \n" );
   282   $BuildID = $EntryLine[$i++];
   283   debug_print( "BuildID: $BuildID \n" );
   284   $Parse_Time = $EntryLine[$i++];
   285   debug_print( "Parse_Time : $Parse_Time \n" );
   286   $Parse_Per =  $EntryLine[$i++];
   287   debug_print( "Parse_Per : $Parse_Per \n" );
   288   $Content_Time = $EntryLine[$i++];
   289   debug_print( "Content_Time : $Content_Time \n" );
   290   $Content_Per = $EntryLine[$i++];
   291   debug_print( "Content_Per : $Content_Per \n" );
   292   $Frame_Time = $EntryLine[$i++];
   293   debug_print( "Frame_Time : $Frame_Time \n" );
   294   $Frame_Per = $EntryLine[$i++];
   295   debug_print( "Frame_Per : $Frame_Per \n" );
   296   $Style_Time = $EntryLine[$i++];
   297   debug_print( "Style_Time : $Style_Time \n" );
   298   $Style_Per = $EntryLine[$i++];
   299   debug_print( "Style_Per : $Style_Per \n" );
   300   $Reflow_Time = $EntryLine[$i++];
   301   debug_print( "Reflow_Time : $Reflow_Time \n" );
   302   $Reflow_Per = $EntryLine[$i++];
   303   debug_print( "Reflow_Per : $Reflow_Per \n" );
   304   $Layout_Time = $EntryLine[$i++];
   305   debug_print( "Layout_Time : $Layout_Time \n" );
   306   $Layout_Per = $EntryLine[$i++];
   307   debug_print( "Layout_Per : $Layout_Per \n" );
   308   $Total_Time = $EntryLine[$i++];
   309   debug_print( "Total_Time : $Total_Time \n" );
   311   if( $Parse_Time_Max > 0 ){
   312     $ParseWeight = $Parse_Time / $Parse_Time_Max * 100;
   313     debug_print( "ParseWeight = $ParseWeight \n" );
   314   }
   315   if( $Content_Time_Max > 0 ){
   316     $ContentWeight = $Content_Time / $Content_Time_Max * 100;
   317     debug_print( "ContentWeight = $ContentWeight \n" );
   318   }
   319   if( $Frame_Time_Max > 0 ){
   320     $FrameWeight = $Frame_Time / $Frame_Time_Max * 100;
   321     debug_print( "FrameWeight = $FrameWeight \n" );
   322   }
   323   if( $Style_Time_Max > 0 ){
   324     $StyleWeight = $Style_Time / $Style_Time_Max * 100;
   325     debug_print( "StyleWeight = $StyleWeight \n" );
   326   }
   327   if( $Reflow_Time_Max > 0 ){
   328     $ReflowWeight = $Reflow_Time / $Reflow_Time_Max * 100;
   329     debug_print( "ReflowWeight = $ReflowWeight \n" );
   330   }
   331   if( $Layout_Time_Max > 0 ){
   332     $LayoutWeight = $Layout_Time / $Layout_Time_Max * 100;
   333     debug_print( "LayoutWeight = $LayoutWeight \n" );
   334   }
   335   if( $Total_Time_Max > 0 ){
   336     $TotalWeight = $Total_Time / $Total_Time_Max * 100;
   337     debug_print( "TotalWeight = $TotalWeight \n" );
   338   }
   340   $bldID;
   341   @bldIDParts = split( /:/, $BuildID );
   342   $bldID = $bldIDParts[1];
   343   print(TRENDTABLE "<!-- Next entry... -->\n");
   344   print(TRENDTABLE "<TR> \n");
   345   print(TRENDTABLE "<TD ROWSPAN=1>$PullID</TD>\n");
   346   print(TRENDTABLE "<TD ROWSPAN=1>$bldID</TD>\n");
   347   print(TRENDTABLE "<!-- Parse Time -->\n");
   348   print(TRENDTABLE "<TD>\n");
   349   print(TRENDTABLE "<TABLE BORDER=0 width=100% align=center COLS=2><TR><TD BGCOLOR='#FFFFC6' align=left width=50%>");
   350   printf(TRENDTABLE "%4.3f", $Parse_Time);
   351   print(TRENDTABLE "</TD><TD BGCOLOR='#CFEEF7' align=right width=50%>");
   352   printf(TRENDTABLE "%4.3f",$Parse_Per);
   353   print(TRENDTABLE "</TD></TR><TR><TD colspan=2><table WIDTH=$ParseWeight% bgcolor=blue><tr><td><font align=center size=-2>&nbsp;");
   354   print(TRENDTABLE "</td></font></tr></table></TD></TR></TABLE>");
   355   printf(TRENDTABLE "<font size=-1>%4.2f % </font>", $ParseWeight);
   356   print(TRENDTABLE "</TD>\n");
   357   print(TRENDTABLE "<!-- Content Time -->\n");
   358   print(TRENDTABLE "<TD>\n");
   359   print(TRENDTABLE "<TABLE BORDER=0 width=100% align=center COLS=2><TR><TD BGCOLOR='#FFFFC6' align=left width=50%>");
   360   printf(TRENDTABLE "%4.3f",$Content_Time);
   361   print(TRENDTABLE "</TD><TD BGCOLOR='#CFEEF7' align=right width=50%>");
   362   printf(TRENDTABLE "%4.3f",$Content_Per);
   363   print(TRENDTABLE "</TD></TR><TR><TD colspan=2><table WIDTH=$ContentWeight% bgcolor=blue><tr><td><font align=center size=-2>&nbsp;");
   364   print(TRENDTABLE "</td></font></tr></table></TD></TR></TABLE>");
   365   printf(TRENDTABLE "<font size=-1>%4.2f % </font>", $ContentWeight);
   366   print(TRENDTABLE "</TD>\n");
   367   print(TRENDTABLE "<!-- Frames Time -->\n");
   368   print(TRENDTABLE "<TD>\n");
   369   print(TRENDTABLE "<TABLE BORDER=0 width=100% align=center COLS=2><TR><TD BGCOLOR='#FFFFC6' align=left width=50%>");
   370   printf(TRENDTABLE "%4.3f",$Frame_Time);
   371   print(TRENDTABLE "</TD><TD BGCOLOR='#CFEEF7' align=right width=50%> ");
   372   printf(TRENDTABLE "%4.3f",$Frame_Per);
   373   print(TRENDTABLE "</TD></TR><TR><TD colspan=2><table WIDTH=$FrameWeight% bgcolor=blue><tr><td><font align=center size=-2>&nbsp;");
   374   print(TRENDTABLE "</td></font></tr></table></TD></TR></TABLE>");
   375   printf(TRENDTABLE "<font size=-1>%4.2f % </font>", $FrameWeight);
   376   print(TRENDTABLE "</TD>\n");
   377   print(TRENDTABLE "<!-- Style Time -->\n");
   378   print(TRENDTABLE "<TD>\n");
   379   print(TRENDTABLE "<TABLE BORDER=0 width=100% align=center COLS=2><TR><TD BGCOLOR='#FFFFC6' align=left width=50%>");
   380   printf(TRENDTABLE "%4.3f",$Style_Time);
   381   print(TRENDTABLE "</TD><TD BGCOLOR='#CFEEF7' align=right width=50%>");
   382   printf(TRENDTABLE "%4.3f",$Style_Per);
   383   print(TRENDTABLE "</TD></TR><TR><TD colspan=2><table WIDTH=$StyleWeight% bgcolor=blue><tr><td><font align=center size=-2>&nbsp;");
   384   print(TRENDTABLE "</td></font></tr></table></TD></TR></TABLE>");
   385   printf(TRENDTABLE "<font size=-1>%4.2f % </font>", $StyleWeight);
   386   print(TRENDTABLE "</TD>\n");
   387   print(TRENDTABLE "<!-- Reflow Time -->\n");
   388   print(TRENDTABLE "<TD>\n");
   389   print(TRENDTABLE "<TABLE BORDER=0 width=100% align=center COLS=2><TR><TD BGCOLOR='#FFFFC6' align=left width=50%>");
   390   printf(TRENDTABLE "%4.3f",$Reflow_Time);
   391   print(TRENDTABLE "</TD><TD BGCOLOR='#CFEEF7' align=right width=50%>");
   392   printf(TRENDTABLE "%4.3f",$Reflow_Per);
   393   print(TRENDTABLE "</TD></TR><TR><TD colspan=2><table WIDTH=$ReflowWeight% bgcolor=blue><tr><td><font align=center size=-2>&nbsp;");
   394   print(TRENDTABLE "</td></font></tr></table></TD></TR></TABLE>");
   395   printf(TRENDTABLE "<font size=-1>%4.2f % </font>", $ReflowWeight);
   396   print(TRENDTABLE "</TD>\n");
   397   print(TRENDTABLE "<!-- Layout Time -->\n");
   398   print(TRENDTABLE "<TD>\n");
   399   print(TRENDTABLE "<TABLE BORDER=0 width=100% align=center COLS=2><TR><TD BGCOLOR='#FFFFC6' align=left width=50%>");
   400   printf(TRENDTABLE "%4.3f",$Layout_Time);
   401   print(TRENDTABLE "</TD><TD BGCOLOR='#CFEEF7' align=right width=50%>");
   402   printf(TRENDTABLE "%4.3f",$Layout_Per);
   403   print(TRENDTABLE "</TD></TR><TR><TD colspan=2><table WIDTH=$LayoutWeight% bgcolor=blue><tr><td><font align=center size=-2>&nbsp;");
   404   print(TRENDTABLE "</td></font></tr></table></TD></TR></TABLE>");
   405   printf(TRENDTABLE "<font size=-1>%4.2f % </font>", $LayoutWeight);
   406   print(TRENDTABLE "</TD>\n");
   407   print(TRENDTABLE "<!-- Parse Time -->\n");
   408   print(TRENDTABLE "<TD>\n");
   409   print(TRENDTABLE "<TABLE BORDER=0 width=100% align=center COLS=2><TR><TD BGCOLOR='#FFFFC6' align=left width=100%>");
   410   printf(TRENDTABLE "%4.3f",$Total_Time);
   411   print(TRENDTABLE "</TD></TR><TR><TD colspan=2><table WIDTH=$TotalWeight% bgcolor=blue><tr><td><font align=center size=-2>&nbsp;");
   412   print(TRENDTABLE "</td></font></tr></table></TD></TR></TABLE>");
   413   printf(TRENDTABLE "<font size=-1>%4.2f % </font>", $TotalWeight);
   414   print(TRENDTABLE "</TD>\n");
   415   print(TRENDTABLE "</TR>\n");
   417   close(TRENDTABLE);
   418 }
   420 #------------------------------------------------------------------------------
   421 #
   422 sub ProcessFooter {
   423   debug_print("ProcessHeader\n");
   424   open(TRENDTABLE, ">> TrendTable.html") or die "Cannot open trend-table file (TrendTable.html) in ProcessFooter\n";
   426   print(TRENDTABLE "</TABLE>\n");
   427   print(TRENDTABLE "</BODY>\n");
   429   close(TRENDTABLE);
   430 } 

mercurial