|
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/. |
|
6 |
|
7 #------------------------------------------------------------------------------ |
|
8 sub debug_print { |
|
9 foreach $str (@_){ |
|
10 # print( $str ); |
|
11 } |
|
12 } |
|
13 |
|
14 |
|
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; |
|
25 |
|
26 @RecordList; |
|
27 @LineList; |
|
28 |
|
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; |
|
54 |
|
55 $i=0; |
|
56 $ThisLine = $_; |
|
57 chop( $Thisline ); |
|
58 @LineList = split( /,/, $ThisLine ); |
|
59 |
|
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" ); |
|
67 |
|
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" ); |
|
107 |
|
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 } |
|
133 |
|
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); |
|
140 |
|
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(); |
|
155 |
|
156 #------------------------------------------------------------------------------ |
|
157 # |
|
158 sub ProcessHeader { |
|
159 debug_print("ProcessHeader\n"); |
|
160 |
|
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; |
|
173 |
|
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 } |
|
244 |
|
245 #------------------------------------------------------------------------------ |
|
246 # |
|
247 sub ProcessEntry { |
|
248 |
|
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; |
|
274 |
|
275 debug_print( "Process Entry\n" ); |
|
276 my @EntryLine =@_; |
|
277 |
|
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" ); |
|
310 |
|
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 } |
|
339 |
|
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> "); |
|
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> "); |
|
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> "); |
|
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> "); |
|
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> "); |
|
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> "); |
|
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> "); |
|
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"); |
|
416 |
|
417 close(TRENDTABLE); |
|
418 } |
|
419 |
|
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"; |
|
425 |
|
426 print(TRENDTABLE "</TABLE>\n"); |
|
427 print(TRENDTABLE "</BODY>\n"); |
|
428 |
|
429 close(TRENDTABLE); |
|
430 } |