| OLD | NEW |
| (Empty) | |
| 1 |
| 2 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
| 3 <html><head><title>Python: module telemetry.page.page_measurement</title> |
| 4 </head><body bgcolor="#f0f0f8"> |
| 5 |
| 6 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading"> |
| 7 <tr bgcolor="#7799ee"> |
| 8 <td valign=bottom> <br> |
| 9 <font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a hre
f="telemetry.html"><font color="#ffffff">telemetry</font></a>.<a href="telemetry
.page.html"><font color="#ffffff">page</font></a>.page_measurement</strong></big
></big></font></td |
| 10 ><td align=right valign=bottom |
| 11 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href=
"file:/Users/nduca/Local/chrome/src/tools/telemetry/telemetry/page/page_measurem
ent.py">/Users/nduca/Local/chrome/src/tools/telemetry/telemetry/page/page_measur
ement.py</a></font></td></tr></table> |
| 12 <p><tt># Copyright (c) 2012 The Chromium Autho
rs. All rights reserved.<br> |
| 13 # Use of this source code is governed by
a BSD-style license that can be<br> |
| 14 # found in the LICENSE file.</tt></p> |
| 15 <p> |
| 16 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> |
| 17 <tr bgcolor="#aa55cc"> |
| 18 <td colspan=3 valign=bottom> <br> |
| 19 <font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big
></font></td></tr> |
| 20 |
| 21 <tr><td bgcolor="#aa55cc"><tt> </tt></td><td>
</td> |
| 22 <td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=t
op><a href="telemetry.page.block_page_measurement_results.html">telemetry.page.b
lock_page_measurement_results</a><br> |
| 23 <a href="telemetry.page.buildbot_page_measurement_results.html">telemetry.page.b
uildbot_page_measurement_results</a><br> |
| 24 </td><td width="25%" valign=top><a href="telemetry.page.csv_page_measurement_res
ults.html">telemetry.page.csv_page_measurement_results</a><br> |
| 25 <a href="os.html">os</a><br> |
| 26 </td><td width="25%" valign=top><a href="telemetry.page.page_measurement_results
.html">telemetry.page.page_measurement_results</a><br> |
| 27 <a href="telemetry.page.page_test.html">telemetry.page.page_test</a><br> |
| 28 </td><td width="25%" valign=top><a href="sys.html">sys</a><br> |
| 29 </td></tr></table></td></tr></table><p> |
| 30 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> |
| 31 <tr bgcolor="#ee77aa"> |
| 32 <td colspan=3 valign=bottom> <br> |
| 33 <font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big
></font></td></tr> |
| 34 |
| 35 <tr><td bgcolor="#ee77aa"><tt> </tt></td><td>
</td> |
| 36 <td width="100%"><dl> |
| 37 <dt><font face="helvetica, arial"><a href="telemetry.page.page_test.html#Failure
">telemetry.page.page_test.Failure</a>(<a href="exceptions.html#Exception">excep
tions.Exception</a>) |
| 38 </font></dt><dd> |
| 39 <dl> |
| 40 <dt><font face="helvetica, arial"><a href="telemetry.page.page_measurement.html#
MeasurementFailure">MeasurementFailure</a> |
| 41 </font></dt></dl> |
| 42 </dd> |
| 43 <dt><font face="helvetica, arial"><a href="telemetry.page.page_test.html#PageTes
t">telemetry.page.page_test.PageTest</a>(<a href="__builtin__.html#object">__bui
ltin__.object</a>) |
| 44 </font></dt><dd> |
| 45 <dl> |
| 46 <dt><font face="helvetica, arial"><a href="telemetry.page.page_measurement.html#
PageMeasurement">PageMeasurement</a> |
| 47 </font></dt></dl> |
| 48 </dd> |
| 49 </dl> |
| 50 <p> |
| 51 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> |
| 52 <tr bgcolor="#ffc8d8"> |
| 53 <td colspan=3 valign=bottom> <br> |
| 54 <font color="#000000" face="helvetica, arial"><a name="MeasurementFailure">class
<strong>MeasurementFailure</strong></a>(<a href="telemetry.page.page_test.html#
Failure">telemetry.page.page_test.Failure</a>)</font></td></tr> |
| 55 |
| 56 <tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td> |
| 57 <td colspan=2><tt>Exception that can be thrown from&nbs
p;MeasurePage to indicate an undesired but<br> |
| 58 designed-for problem.<br> </tt></td></tr> |
| 59 <tr><td> </td> |
| 60 <td width="100%"><dl><dt>Method resolution order:</dt> |
| 61 <dd><a href="telemetry.page.page_measurement.html#MeasurementFailure">Measuremen
tFailure</a></dd> |
| 62 <dd><a href="telemetry.page.page_test.html#Failure">telemetry.page.page_test.Fai
lure</a></dd> |
| 63 <dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd> |
| 64 <dd><a href="exceptions.html#BaseException">exceptions.BaseException</a></dd> |
| 65 <dd><a href="__builtin__.html#object">__builtin__.object</a></dd> |
| 66 </dl> |
| 67 <hr> |
| 68 Data descriptors inherited from <a href="telemetry.page.page_test.html#Failure">
telemetry.page.page_test.Failure</a>:<br> |
| 69 <dl><dt><strong>__weakref__</strong></dt> |
| 70 <dd><tt>list of weak references to the object 
;(if defined)</tt></dd> |
| 71 </dl> |
| 72 <hr> |
| 73 Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception<
/a>:<br> |
| 74 <dl><dt><a name="MeasurementFailure-__init__"><strong>__init__</strong></a>(...)
</dt><dd><tt>x.<a href="#MeasurementFailure-__init__">__init__</a>(...) ini
tializes x; see help(type(x)) for signature</tt></dd></
dl> |
| 75 |
| 76 <hr> |
| 77 Data and other attributes inherited from <a href="exceptions.html#Exception">exc
eptions.Exception</a>:<br> |
| 78 <dl><dt><strong>__new__</strong> = <built-in method __new__ of type object>
;<dd><tt>T.<a href="#MeasurementFailure-__new__">__new__</a>(S, ...) -
> a new object with type S, a subtype
of T</tt></dl> |
| 79 |
| 80 <hr> |
| 81 Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseEx
ception</a>:<br> |
| 82 <dl><dt><a name="MeasurementFailure-__delattr__"><strong>__delattr__</strong></a
>(...)</dt><dd><tt>x.<a href="#MeasurementFailure-__delattr__">__delattr__</a>('
name') <==> del x.name</tt></dd></dl> |
| 83 |
| 84 <dl><dt><a name="MeasurementFailure-__getattribute__"><strong>__getattribute__</
strong></a>(...)</dt><dd><tt>x.<a href="#MeasurementFailure-__getattribute__">__
getattribute__</a>('name') <==> x.name</tt></dd></dl> |
| 85 |
| 86 <dl><dt><a name="MeasurementFailure-__getitem__"><strong>__getitem__</strong></a
>(...)</dt><dd><tt>x.<a href="#MeasurementFailure-__getitem__">__getitem__</a>(y
) <==> x[y]</tt></dd></dl> |
| 87 |
| 88 <dl><dt><a name="MeasurementFailure-__getslice__"><strong>__getslice__</strong><
/a>(...)</dt><dd><tt>x.<a href="#MeasurementFailure-__getslice__">__getslice__</
a>(i, j) <==> x[i:j]<br> |
| 89 <br> |
| 90 Use of negative indices is not supported.</tt></dd
></dl> |
| 91 |
| 92 <dl><dt><a name="MeasurementFailure-__reduce__"><strong>__reduce__</strong></a>(
...)</dt></dl> |
| 93 |
| 94 <dl><dt><a name="MeasurementFailure-__repr__"><strong>__repr__</strong></a>(...)
</dt><dd><tt>x.<a href="#MeasurementFailure-__repr__">__repr__</a>() <==
> repr(x)</tt></dd></dl> |
| 95 |
| 96 <dl><dt><a name="MeasurementFailure-__setattr__"><strong>__setattr__</strong></a
>(...)</dt><dd><tt>x.<a href="#MeasurementFailure-__setattr__">__setattr__</a>('
name', value) <==> x.name = value</tt></dd></dl> |
| 97 |
| 98 <dl><dt><a name="MeasurementFailure-__setstate__"><strong>__setstate__</strong><
/a>(...)</dt></dl> |
| 99 |
| 100 <dl><dt><a name="MeasurementFailure-__str__"><strong>__str__</strong></a>(...)</
dt><dd><tt>x.<a href="#MeasurementFailure-__str__">__str__</a>() <==>
str(x)</tt></dd></dl> |
| 101 |
| 102 <dl><dt><a name="MeasurementFailure-__unicode__"><strong>__unicode__</strong></a
>(...)</dt></dl> |
| 103 |
| 104 <hr> |
| 105 Data descriptors inherited from <a href="exceptions.html#BaseException">exceptio
ns.BaseException</a>:<br> |
| 106 <dl><dt><strong>__dict__</strong></dt> |
| 107 </dl> |
| 108 <dl><dt><strong>args</strong></dt> |
| 109 </dl> |
| 110 <dl><dt><strong>message</strong></dt> |
| 111 </dl> |
| 112 </td></tr></table> <p> |
| 113 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> |
| 114 <tr bgcolor="#ffc8d8"> |
| 115 <td colspan=3 valign=bottom> <br> |
| 116 <font color="#000000" face="helvetica, arial"><a name="PageMeasurement">class <s
trong>PageMeasurement</strong></a>(<a href="telemetry.page.page_test.html#PageTe
st">telemetry.page.page_test.PageTest</a>)</font></td></tr> |
| 117 |
| 118 <tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td> |
| 119 <td colspan=2><tt>Glue code for running a measurement&n
bsp;across a set of pages.<br> |
| 120 <br> |
| 121 To use this, subclass from the measurement an
d override MeasurePage. For<br> |
| 122 example:<br> |
| 123 <br> |
| 124 class BodyChildElementMeasurement(<a href="#PageMeasureme
nt">PageMeasurement</a>):<br> |
| 125 def <a href="#PageMeasurement-MeasurePa
ge">MeasurePage</a>(self, page, tab, results):<br> |
| 126 body_child_count =&nb
sp;tab.EvaluateJavaScript(<br> |
| 127 'd
ocument.body.children.length')<br> |
| 128 results.Add('body_children
', 'count', body_child_count)<br> |
| 129 <br> |
| 130 if __name__ == '__main__':<br> |
| 131 page_measurement.Main(BodyChildElement
Measurement())<br> |
| 132 <br> |
| 133 To add test-specific options:<br> |
| 134 <br> |
| 135 class BodyChildElementMeasurement(<a href="#PageMeasureme
nt">PageMeasurement</a>):<br> |
| 136 def <a href="#PageMeasurement-AddComman
dLineOptions">AddCommandLineOptions</a>(parser):<br> |
| 137 parser.add_option('--eleme
nt', action='store', default='body')<br> |
| 138 <br> |
| 139 def <a href="#PageMeasurement-MeasurePa
ge">MeasurePage</a>(self, page, tab, results):<br> |
| 140 body_child_count =&nb
sp;tab.EvaluateJavaScript(<br> |
| 141 'documen
t.querySelector('%s').children.length')<br> |
| 142 results.Add('children',&nb
sp;'count', child_count)<br> </tt></td></tr> |
| 143 <tr><td> </td> |
| 144 <td width="100%"><dl><dt>Method resolution order:</dt> |
| 145 <dd><a href="telemetry.page.page_measurement.html#PageMeasurement">PageMeasureme
nt</a></dd> |
| 146 <dd><a href="telemetry.page.page_test.html#PageTest">telemetry.page.page_test.Pa
geTest</a></dd> |
| 147 <dd><a href="__builtin__.html#object">__builtin__.object</a></dd> |
| 148 </dl> |
| 149 <hr> |
| 150 Methods defined here:<br> |
| 151 <dl><dt><a name="PageMeasurement-AddOutputOptions"><strong>AddOutputOptions</str
ong></a>(self, parser)</dt></dl> |
| 152 |
| 153 <dl><dt><a name="PageMeasurement-MeasurePage"><strong>MeasurePage</strong></a>(s
elf, page, tab, results)</dt><dd><tt>Override to actually measure
the page's performance.<br> |
| 154 <br> |
| 155 page is a page_set.Page<br> |
| 156 tab is an instance of telemetry.core.Tab<br> |
| 157 <br> |
| 158 Should call results.Add(name, units, value) for ea
ch result, or raise an<br> |
| 159 exception on failure. The name and units of&n
bsp;each Add() call must be<br> |
| 160 the same across all iterations. The name 'url
' must not be used.<br> |
| 161 <br> |
| 162 Prefer field names that are in accordance wit
h python variable style. E.g.<br> |
| 163 field_name.<br> |
| 164 <br> |
| 165 Put together:<br> |
| 166 <br> |
| 167 def <a href="#PageMeasurement-MeasurePage">MeasurePage</a
>(self, page, tab, results):<br> |
| 168 res = tab.EvaluateJavaScript('2+2')<br> |
| 169 if res != 4:<br> |
| 170 raise Exception('Oh, wow.')<
br> |
| 171 results.Add('two_plus_two', 'count', res
)</tt></dd></dl> |
| 172 |
| 173 <dl><dt><a name="PageMeasurement-PrepareResults"><strong>PrepareResults</strong>
</a>(self, options)</dt></dl> |
| 174 |
| 175 <dl><dt><a name="PageMeasurement-__init__"><strong>__init__</strong></a>(self, a
ction_name_to_run<font color="#909090">=''</font>, needs_browser_restart_after_e
ach_run<font color="#909090">=False</font>, discard_first_result<font color="#90
9090">=False</font>)</dt></dl> |
| 176 |
| 177 <hr> |
| 178 Data descriptors defined here:<br> |
| 179 <dl><dt><strong>output_format_choices</strong></dt> |
| 180 </dl> |
| 181 <dl><dt><strong>results_are_the_same_on_every_page</strong></dt> |
| 182 <dd><tt>By default, measurements are assumed to ou
tput the same values for every<br> |
| 183 page. This allows incremental output, for example&
nbsp;in CSV. If, however, the<br> |
| 184 measurement discovers what values it can report&nb
sp;as it goes, and those values<br> |
| 185 may vary from page to page, you need to&
nbsp;override this function and return<br> |
| 186 False. Output will not appear in this mode&nb
sp;until the entire pageset has<br> |
| 187 run.</tt></dd> |
| 188 </dl> |
| 189 <hr> |
| 190 Methods inherited from <a href="telemetry.page.page_test.html#PageTest">telemetr
y.page.page_test.PageTest</a>:<br> |
| 191 <dl><dt><a name="PageMeasurement-AddCommandLineOptions"><strong>AddCommandLineOp
tions</strong></a>(self, parser)</dt><dd><tt>Override to expose c
ommand-line options for this test.<br> |
| 192 <br> |
| 193 The provided parser is an optparse.OptionParser in
stance and accepts all<br> |
| 194 normal results. The parsed options are available&n
bsp;in Run as<br> |
| 195 self.<strong>options</strong>.</tt></dd></dl> |
| 196 |
| 197 <dl><dt><a name="PageMeasurement-CanRunForPage"><strong>CanRunForPage</strong></
a>(self, page)</dt><dd><tt>Override to customize if the 
;test can be ran for the given page.</tt></dd
></dl> |
| 198 |
| 199 <dl><dt><a name="PageMeasurement-CreatePageSet"><strong>CreatePageSet</strong></
a>(self, args, options)</dt><dd><tt>Override to make this te
st generate its own page set instead of<br> |
| 200 allowing arbitrary page sets entered from the 
;command-line.</tt></dd></dl> |
| 201 |
| 202 <dl><dt><a name="PageMeasurement-CustomizeBrowserOptions"><strong>CustomizeBrows
erOptions</strong></a>(self, options)</dt><dd><tt>Override to add 
;test-specific options to the BrowserOptions object</tt
></dd></dl> |
| 203 |
| 204 <dl><dt><a name="PageMeasurement-CustomizeBrowserOptionsForPage"><strong>Customi
zeBrowserOptionsForPage</strong></a>(self, page, options)</dt><dd><tt>Add o
ptions specific to the test and the given&nbs
p;page.</tt></dd></dl> |
| 205 |
| 206 <dl><dt><a name="PageMeasurement-DidNavigateToPage"><strong>DidNavigateToPage</s
trong></a>(self, page, tab)</dt><dd><tt>Override to do operations
right after the page is navigated, but
before<br> |
| 207 any waiting for completion has occurred.</tt></dd></dl> |
| 208 |
| 209 <dl><dt><a name="PageMeasurement-DidRunAction"><strong>DidRunAction</strong></a>
(self, page, tab, action)</dt><dd><tt>Override to do operations&n
bsp;after running the action on the page.</tt></dd
></dl> |
| 210 |
| 211 <dl><dt><a name="PageMeasurement-DidRunPageSet"><strong>DidRunPageSet</strong></
a>(self, tab, results)</dt><dd><tt>Override to do operations 
;after page set is completed, but before brow
ser<br> |
| 212 is torn down.</tt></dd></dl> |
| 213 |
| 214 <dl><dt><a name="PageMeasurement-DidStartHTTPServer"><strong>DidStartHTTPServer<
/strong></a>(self, tab)</dt><dd><tt>Override to do operations&nbs
p;after the HTTP server is started.</tt></dd></dl> |
| 215 |
| 216 <dl><dt><a name="PageMeasurement-NeedsBrowserRestartAfterEachRun"><strong>NeedsB
rowserRestartAfterEachRun</strong></a>(self, tab)</dt><dd><tt>Override to&n
bsp;specify browser restart after each run.</tt></dd></
dl> |
| 217 |
| 218 <dl><dt><a name="PageMeasurement-Run"><strong>Run</strong></a>(self, options, pa
ge, tab, results)</dt></dl> |
| 219 |
| 220 <dl><dt><a name="PageMeasurement-SetUpBrowser"><strong>SetUpBrowser</strong></a>
(self, browser)</dt><dd><tt>Override to customize the browse
r right after it has launched.</tt></dd></dl> |
| 221 |
| 222 <dl><dt><a name="PageMeasurement-WillNavigateToPage"><strong>WillNavigateToPage<
/strong></a>(self, page, tab)</dt><dd><tt>Override to do operatio
ns before the page is navigated.</tt></dd></dl> |
| 223 |
| 224 <dl><dt><a name="PageMeasurement-WillRunAction"><strong>WillRunAction</strong></
a>(self, page, tab, action)</dt><dd><tt>Override to do operations
before running the action on the page.</tt><
/dd></dl> |
| 225 |
| 226 <dl><dt><a name="PageMeasurement-WillRunPageSet"><strong>WillRunPageSet</strong>
</a>(self, tab)</dt><dd><tt>Override to do operations before
the page set is navigated.</tt></dd></dl> |
| 227 |
| 228 <hr> |
| 229 Data descriptors inherited from <a href="telemetry.page.page_test.html#PageTest"
>telemetry.page.page_test.PageTest</a>:<br> |
| 230 <dl><dt><strong>__dict__</strong></dt> |
| 231 <dd><tt>dictionary for instance variables (if defined)<
/tt></dd> |
| 232 </dl> |
| 233 <dl><dt><strong>__weakref__</strong></dt> |
| 234 <dd><tt>list of weak references to the object 
;(if defined)</tt></dd> |
| 235 </dl> |
| 236 <dl><dt><strong>action_name_to_run</strong></dt> |
| 237 </dl> |
| 238 <dl><dt><strong>discard_first_result</strong></dt> |
| 239 <dd><tt>When set to True, the first run of&nb
sp;the test is discarded. This is<br> |
| 240 useful for cases where it's desirable to have
some test resource cached so<br> |
| 241 the first run of the test can warm thing
s up.</tt></dd> |
| 242 </dl> |
| 243 </td></tr></table></td></tr></table> |
| 244 </body></html> |
| OLD | NEW |