diff -r 000000000000 -r 6474c204b198 tools/page-loader/report.pl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tools/page-loader/report.pl Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,78 @@ +#!/usr/bin/perl +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +use CGI::Carp qw(fatalsToBrowser); +use CGI::Request; +use URLTimingDataSet; +use strict; + +my $request = new CGI::Request; +my $id = $request->param('id'); #XXX need to check for valid parameter id + +print "Content-type: text/html\n\n"; + +print "

See Notes at the bottom of this page for some details.

\n"; +print "
\n";
+my $rs = URLTimingDataSet->new($id);
+
+print  "Test id: $id
Avg. Median : ", $rs->{avgmedian}, + " msec\t\tMinimum : ", $rs->{minimum}, " msec\n"; +print "Average : ", $rs->{average}, + " msec\t\tMaximum : ", $rs->{maximum}, " msec
\n\n\n"; + +#XXX print more info (test id, ua, start time, user, IP, etc.) + +# draw the chart sorted +# XXX enable this line to draw a chart, sorted by time. However, in order +# to draw the chart, you will need to have installed the 'gd' drawing library, +# and the GD and GD::Graph Perl modules. +###print "\n


\n"; + + +print "
\nIDX PATH                           AVG    MED    MAX    MIN  TIMES ...\n";
+
+if ($request->param('sort')) {
+    print $rs->as_string_sorted();
+} else {
+    print $rs->as_string();
+}
+print "
\n"; +printEndNotes(); + +exit; + + +sub printEndNotes { + print <<"EndOfNotes"; + +
+

+

    +
  1. Times are in milliseconds. + +
  2. AVG, MED, MIN and MAX are the average, median, maximum and +minimum of the (non-NaN) test results for a given page. + +
  3. If a page fails to fire the onload event within 30 seconds, +the test for that page is "aborted": a different JS function kicks in, +cleans up, and reports the time as "NaN". (The rest of the pages in +the series should still be loaded normally after this). + +
  4. The value for AVG reported for 'All Pages' is the average of +the averages for all the pages loaded. + +
  5. The value for MAX and MIN reported for 'All Pages' are the +overall maximum and minimum for all pages loaded (keeping in mind that +a load that never finishes is recorded as "NaN".) + +
  6. The value for MED reported for 'All Pages' is the _average_ of +the medians for all the pages loaded (i.e., it is not the median of +the medians). + +
+ +

+EndOfNotes +}