comparison README @ 196:dd0018bc27de

Copy the pageloader from CVS and into a bundle format (single chrome.manifest).
author Benjamin Smedberg <benjamin@smedbergs.us>
date Wed, 21 Jul 2010 15:57:39 -0400
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 196:dd0018bc27de
1 Pageload Test Component
2 =======================
3
4 Usage:
5
6 ./firefox -tp file:///path/to/manifest.txt [-tpargs...]
7
8 See ./firefox -help for other arguments.
9
10
11 Manifest file format
12 ====================
13
14 Comments in the manifest file start with a #. Each line may be:
15
16 * a URL (absolute or relative to the manifest)
17
18 This URL is added to the list of tests.
19
20 * one or more flags, followed by whitespace, followed by a URL
21
22 The only flag supported currently is '%', which indicates that
23 a test will do its own timing. (See Self-timing Tests below.)
24
25 * "include" followed by whitespace, followed by a URL
26
27 Parse the given manifest file.
28
29 Self-timing Tests
30 =================
31
32 Most timing tests are interested in timing how long it takes the page
33 to load; that is, from the start of page loading until the 'load'
34 event is dispatched. By default, this is what the pageloader will
35 time. However, if a test URL has the % flag, the test is expected to
36 report its own timing. For this purpose, the pageloader will provide
37 a function named "tpRecordTime" in the test's global object that it
38 should call once it has performed whatever timing it wants to do.
39 The given value will be used as the timing result for this test.
40
41 Output format
42 =============
43
44 The result is a dump to stdout via dump() --
45 browser.dom.window.dump.enabled must be set to true in the profile. A
46 number of output formats can be specified via the -tpformat command
47 line option, currently 'js', 'text', and 'tinderbox' are supported.
48
49 Sample 'js' format output:
50
51 ([({page:"1280x1024-PNG/index.html", value:133, stddev:20.049937655763422}),({page:"bugzilla.mozilla.org/index.html", value:233, stddev:36.66606060105176}),({page:"espn.go.com/index.html", value:117.6, stddev:1.2}),({page:"home.netscape.com/index.html", value:97.8, stddev:47.41898354035017}),])
52
53 Sample 'text' format output:
54
55 ============================================================
56 Page mean stdd min max raw
57 0 1280x1024-PNG/index.html 133 20 121 297 297,173,122,121,124,125
58 1 bugzilla.mozilla.org/index.html 233 37 192 395 395,273,223,192,198,279
59 2 espn.go.com/index.html 118 1 116 254 254,117,116,119,119,117
60 3 home.netscape.com/index.html 98 47 3 124 3,121,120,124,124,121
61 ============================================================
62
63 Sample 'tinderbox' format output:
64
65 __start_tp_report
66 _x_x_mozilla_page_load,778.5,NaN,NaN
67 _x_x_mozilla_page_load_details,avgmedian|778.5|average|766.75|minimum|NaN|maximum|NaN|stddev|NaN|0;file:///c:/proj/mozilla-cvs/perf/tp2/base/www.cnn.com/index.html;778.5;766.75;722;1027;1027;788;777;722;780|...
68 __end_tp_report
69
70 Note that the minimum, maximum, stddev are not calculated; they're
71 always reported as NaN. (They were the minimum and maximum values of
72 any sampled value, and the standard deviation across all sampled
73 values -- not very useful.)
74
75 TODO
76 ====
77
78 * Command line option to choose whether to run with or without browser chrome. Currently runs without.
79
80 * Tinderbox-dropping style output
81 * better yet would be to teach tinderbox about JSON