blob: 8d397fdf9c7bbab277fa4b106ecc3cecd7492623 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: package telemetry.value</title>
<meta charset="utf-8">
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="telemetry.html"><font color="#ffffff">telemetry</font></a>.value</strong></big></big></font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="../telemetry/value/__init__.py">telemetry/value/__init__.py</a></font></td></tr></table>
<p><tt>The&nbsp;<a href="#Value">Value</a>&nbsp;hierarchy&nbsp;provides&nbsp;a&nbsp;way&nbsp;of&nbsp;representing&nbsp;the&nbsp;values&nbsp;measurements<br>
produce&nbsp;such&nbsp;that&nbsp;they&nbsp;can&nbsp;be&nbsp;merged&nbsp;across&nbsp;runs,&nbsp;grouped&nbsp;by&nbsp;page,&nbsp;and&nbsp;output<br>
to&nbsp;different&nbsp;targets.<br>
&nbsp;<br>
The&nbsp;core&nbsp;<a href="#Value">Value</a>&nbsp;concept&nbsp;provides&nbsp;the&nbsp;basic&nbsp;functionality:<br>
-&nbsp;association&nbsp;with&nbsp;a&nbsp;page,&nbsp;may&nbsp;be&nbsp;none<br>
-&nbsp;naming&nbsp;and&nbsp;units<br>
-&nbsp;importance&nbsp;tracking&nbsp;[whether&nbsp;a&nbsp;value&nbsp;will&nbsp;show&nbsp;up&nbsp;on&nbsp;a&nbsp;waterfall&nbsp;or&nbsp;output<br>
&nbsp;&nbsp;file&nbsp;by&nbsp;default]<br>
-&nbsp;other&nbsp;metadata,&nbsp;such&nbsp;as&nbsp;a&nbsp;description&nbsp;of&nbsp;what&nbsp;was&nbsp;measured<br>
-&nbsp;default&nbsp;conversion&nbsp;to&nbsp;scalar&nbsp;and&nbsp;string<br>
-&nbsp;merging&nbsp;properties<br>
&nbsp;<br>
A&nbsp;page&nbsp;may&nbsp;actually&nbsp;run&nbsp;a&nbsp;few&nbsp;times&nbsp;during&nbsp;a&nbsp;single&nbsp;telemetry&nbsp;session.<br>
Downstream&nbsp;consumers&nbsp;of&nbsp;test&nbsp;results&nbsp;typically&nbsp;want&nbsp;to&nbsp;group&nbsp;these&nbsp;runs<br>
together,&nbsp;then&nbsp;compute&nbsp;summary&nbsp;statistics&nbsp;across&nbsp;runs.&nbsp;<a href="#Value">Value</a>&nbsp;provides&nbsp;the<br>
Merge*&nbsp;family&nbsp;of&nbsp;methods&nbsp;for&nbsp;this&nbsp;kind&nbsp;of&nbsp;aggregation.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Package Contents</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="telemetry.value.failure.html">failure</a><br>
<a href="telemetry.value.failure_unittest.html">failure_unittest</a><br>
<a href="telemetry.value.histogram.html">histogram</a><br>
<a href="telemetry.value.histogram_unittest.html">histogram_unittest</a><br>
<a href="telemetry.value.histogram_util.html">histogram_util</a><br>
<a href="telemetry.value.histogram_util_unittest.html">histogram_util_unittest</a><br>
<a href="telemetry.value.improvement_direction.html">improvement_direction</a><br>
</td><td width="25%" valign=top><a href="telemetry.value.list_of_scalar_values.html">list_of_scalar_values</a><br>
<a href="telemetry.value.list_of_scalar_values_unittest.html">list_of_scalar_values_unittest</a><br>
<a href="telemetry.value.list_of_string_values.html">list_of_string_values</a><br>
<a href="telemetry.value.list_of_string_values_unittest.html">list_of_string_values_unittest</a><br>
<a href="telemetry.value.merge_values.html">merge_values</a><br>
<a href="telemetry.value.merge_values_unittest.html">merge_values_unittest</a><br>
<a href="telemetry.value.none_values.html">none_values</a><br>
</td><td width="25%" valign=top><a href="telemetry.value.scalar.html">scalar</a><br>
<a href="telemetry.value.scalar_unittest.html">scalar_unittest</a><br>
<a href="telemetry.value.skip.html">skip</a><br>
<a href="telemetry.value.skip_unittest.html">skip_unittest</a><br>
<a href="telemetry.value.string.html">string</a><br>
<a href="telemetry.value.string_unittest.html">string_unittest</a><br>
<a href="telemetry.value.summarizable.html">summarizable</a><br>
</td><td width="25%" valign=top><a href="telemetry.value.summary.html">summary</a><br>
<a href="telemetry.value.summary_unittest.html">summary_unittest</a><br>
<a href="telemetry.value.trace.html">trace</a><br>
<a href="telemetry.value.trace_unittest.html">trace_unittest</a><br>
<a href="telemetry.value.value_unittest.html">value_unittest</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="__builtin__.html#object">__builtin__.object</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="telemetry.value.html#Value">Value</a>
</font></dt></dl>
</dd>
</dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="Value">class <strong>Value</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>An&nbsp;abstract&nbsp;value&nbsp;produced&nbsp;by&nbsp;a&nbsp;telemetry&nbsp;page&nbsp;test.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Value-AsDict"><strong>AsDict</strong></a>(self)</dt><dd><tt>Pre-serializes&nbsp;a&nbsp;value&nbsp;to&nbsp;a&nbsp;dict&nbsp;for&nbsp;output&nbsp;as&nbsp;JSON.</tt></dd></dl>
<dl><dt><a name="Value-AsDictWithoutBaseClassEntries"><strong>AsDictWithoutBaseClassEntries</strong></a>(self)</dt></dl>
<dl><dt><a name="Value-GetBuildbotDataType"><strong>GetBuildbotDataType</strong></a>(self, output_context)</dt><dd><tt>Returns&nbsp;the&nbsp;buildbot's&nbsp;equivalent&nbsp;data_type.<br>
&nbsp;<br>
This&nbsp;should&nbsp;be&nbsp;one&nbsp;of&nbsp;the&nbsp;values&nbsp;accepted&nbsp;by&nbsp;perf_tests_results_helper.py.</tt></dd></dl>
<dl><dt><a name="Value-GetBuildbotValue"><strong>GetBuildbotValue</strong></a>(self)</dt><dd><tt>Returns&nbsp;the&nbsp;buildbot's&nbsp;equivalent&nbsp;value.</tt></dd></dl>
<dl><dt><a name="Value-GetChartAndTraceNameForComputedSummaryResult"><strong>GetChartAndTraceNameForComputedSummaryResult</strong></a>(self, trace_tag)</dt></dl>
<dl><dt><a name="Value-GetChartAndTraceNameForPerPageResult"><strong>GetChartAndTraceNameForPerPageResult</strong></a>(self)</dt></dl>
<dl><dt><a name="Value-GetRepresentativeNumber"><strong>GetRepresentativeNumber</strong></a>(self)</dt><dd><tt>Gets&nbsp;a&nbsp;single&nbsp;scalar&nbsp;value&nbsp;that&nbsp;best-represents&nbsp;this&nbsp;value.<br>
&nbsp;<br>
Returns&nbsp;None&nbsp;if&nbsp;not&nbsp;possible.</tt></dd></dl>
<dl><dt><a name="Value-GetRepresentativeString"><strong>GetRepresentativeString</strong></a>(self)</dt><dd><tt>Gets&nbsp;a&nbsp;string&nbsp;value&nbsp;that&nbsp;best-represents&nbsp;this&nbsp;value.<br>
&nbsp;<br>
Returns&nbsp;None&nbsp;if&nbsp;not&nbsp;possible.</tt></dd></dl>
<dl><dt><a name="Value-IsMergableWith"><strong>IsMergableWith</strong></a>(self, that)</dt></dl>
<dl><dt><a name="Value-__eq__"><strong>__eq__</strong></a>(self, other)</dt></dl>
<dl><dt><a name="Value-__hash__"><strong>__hash__</strong></a>(self)</dt></dl>
<dl><dt><a name="Value-__init__"><strong>__init__</strong></a>(self, page, name, units, important, description, tir_label)</dt><dd><tt>A&nbsp;generic&nbsp;<a href="#Value">Value</a>&nbsp;<a href="__builtin__.html#object">object</a>.<br>
&nbsp;<br>
Args:<br>
&nbsp;&nbsp;page:&nbsp;A&nbsp;Page&nbsp;<a href="__builtin__.html#object">object</a>,&nbsp;may&nbsp;be&nbsp;given&nbsp;as&nbsp;None&nbsp;to&nbsp;indicate&nbsp;that&nbsp;the&nbsp;value<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;represents&nbsp;results&nbsp;for&nbsp;multiple&nbsp;pages.<br>
&nbsp;&nbsp;name:&nbsp;A&nbsp;value&nbsp;name&nbsp;string,&nbsp;may&nbsp;contain&nbsp;a&nbsp;dot.&nbsp;Values&nbsp;from&nbsp;the&nbsp;same&nbsp;test<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with&nbsp;the&nbsp;same&nbsp;prefix&nbsp;before&nbsp;the&nbsp;dot&nbsp;may&nbsp;be&nbsp;considered&nbsp;to&nbsp;belong&nbsp;to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;same&nbsp;chart.<br>
&nbsp;&nbsp;units:&nbsp;A&nbsp;units&nbsp;string.<br>
&nbsp;&nbsp;important:&nbsp;Whether&nbsp;the&nbsp;value&nbsp;is&nbsp;"important".&nbsp;Causes&nbsp;the&nbsp;value&nbsp;to&nbsp;appear<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;by&nbsp;default&nbsp;in&nbsp;downstream&nbsp;UIs.<br>
&nbsp;&nbsp;description:&nbsp;A&nbsp;string&nbsp;explaining&nbsp;in&nbsp;human-understandable&nbsp;terms&nbsp;what&nbsp;this<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;represents.<br>
&nbsp;&nbsp;tir_label:&nbsp;The&nbsp;string&nbsp;label&nbsp;of&nbsp;the&nbsp;TimelineInteractionRecord&nbsp;with<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;which&nbsp;this&nbsp;value&nbsp;is&nbsp;associated.</tt></dd></dl>
<hr>
Class methods defined here:<br>
<dl><dt><a name="Value-MergeLikeValuesFromDifferentPages"><strong>MergeLikeValuesFromDifferentPages</strong></a>(cls, values)<font color="#909090"><font face="helvetica, arial"> from <a href="__builtin__.html#type">__builtin__.type</a></font></font></dt><dd><tt>Combines&nbsp;the&nbsp;provided&nbsp;values&nbsp;into&nbsp;a&nbsp;single&nbsp;compound&nbsp;value.<br>
&nbsp;<br>
When&nbsp;a&nbsp;full&nbsp;pageset&nbsp;runs,&nbsp;a&nbsp;single&nbsp;value_name&nbsp;will&nbsp;usually&nbsp;end&nbsp;up&nbsp;getting<br>
collected&nbsp;for&nbsp;multiple&nbsp;pages.&nbsp;For&nbsp;instance,&nbsp;we&nbsp;may&nbsp;end&nbsp;up&nbsp;with<br>
&nbsp;&nbsp;&nbsp;[ScalarValue(page1,&nbsp;'a',&nbsp;&nbsp;1),<br>
&nbsp;&nbsp;&nbsp;&nbsp;ScalarValue(page2,&nbsp;'a',&nbsp;&nbsp;2)]<br>
&nbsp;<br>
This&nbsp;function&nbsp;takes&nbsp;in&nbsp;the&nbsp;values&nbsp;of&nbsp;the&nbsp;same&nbsp;name,&nbsp;but&nbsp;across&nbsp;multiple<br>
pages,&nbsp;and&nbsp;produces&nbsp;a&nbsp;single&nbsp;summary&nbsp;result&nbsp;value.&nbsp;In&nbsp;this&nbsp;instance,&nbsp;it<br>
could&nbsp;produce&nbsp;a&nbsp;ScalarValue(None,&nbsp;'a',&nbsp;1.5)&nbsp;to&nbsp;indicate&nbsp;averaging,&nbsp;or&nbsp;even<br>
ListOfScalarValues(None,&nbsp;'a',&nbsp;[1,&nbsp;2])&nbsp;if&nbsp;concatenated&nbsp;output&nbsp;was&nbsp;desired.<br>
&nbsp;<br>
Some&nbsp;results&nbsp;are&nbsp;so&nbsp;specific&nbsp;to&nbsp;a&nbsp;page&nbsp;that&nbsp;they&nbsp;make&nbsp;no&nbsp;sense&nbsp;when<br>
aggregated&nbsp;across&nbsp;pages.&nbsp;If&nbsp;merging&nbsp;values&nbsp;of&nbsp;this&nbsp;type&nbsp;across&nbsp;pages&nbsp;is<br>
non-sensical,&nbsp;this&nbsp;method&nbsp;may&nbsp;return&nbsp;None.</tt></dd></dl>
<dl><dt><a name="Value-MergeLikeValuesFromSamePage"><strong>MergeLikeValuesFromSamePage</strong></a>(cls, values)<font color="#909090"><font face="helvetica, arial"> from <a href="__builtin__.html#type">__builtin__.type</a></font></font></dt><dd><tt>Combines&nbsp;the&nbsp;provided&nbsp;list&nbsp;of&nbsp;values&nbsp;into&nbsp;a&nbsp;single&nbsp;compound&nbsp;value.<br>
&nbsp;<br>
When&nbsp;a&nbsp;page&nbsp;runs&nbsp;multiple&nbsp;times,&nbsp;it&nbsp;may&nbsp;produce&nbsp;multiple&nbsp;values.&nbsp;This<br>
function&nbsp;is&nbsp;given&nbsp;the&nbsp;same-named&nbsp;values&nbsp;across&nbsp;the&nbsp;multiple&nbsp;runs,&nbsp;and&nbsp;has<br>
the&nbsp;responsibility&nbsp;of&nbsp;producing&nbsp;a&nbsp;single&nbsp;result.<br>
&nbsp;<br>
It&nbsp;must&nbsp;return&nbsp;a&nbsp;single&nbsp;<a href="#Value">Value</a>.&nbsp;If&nbsp;merging&nbsp;does&nbsp;not&nbsp;make&nbsp;sense,&nbsp;the<br>
implementation&nbsp;must&nbsp;pick&nbsp;a&nbsp;representative&nbsp;value&nbsp;from&nbsp;one&nbsp;of&nbsp;the&nbsp;runs.<br>
&nbsp;<br>
For&nbsp;instance,&nbsp;it&nbsp;may&nbsp;be&nbsp;given<br>
&nbsp;&nbsp;&nbsp;&nbsp;[ScalarValue(page,&nbsp;'a',&nbsp;1),&nbsp;ScalarValue(page,&nbsp;'a',&nbsp;2)]<br>
and&nbsp;it&nbsp;might&nbsp;produce<br>
&nbsp;&nbsp;&nbsp;&nbsp;ListOfScalarValues(page,&nbsp;'a',&nbsp;[1,&nbsp;2])</tt></dd></dl>
<hr>
Static methods defined here:<br>
<dl><dt><a name="Value-FromDict"><strong>FromDict</strong></a>(value_dict, page_dict)</dt><dd><tt>Produces&nbsp;a&nbsp;value&nbsp;from&nbsp;a&nbsp;value&nbsp;dict&nbsp;and&nbsp;a&nbsp;page&nbsp;dict.<br>
&nbsp;<br>
<a href="#Value">Value</a>&nbsp;dicts&nbsp;are&nbsp;produced&nbsp;by&nbsp;serialization&nbsp;to&nbsp;JSON,&nbsp;and&nbsp;must&nbsp;be&nbsp;accompanied<br>
by&nbsp;a&nbsp;dict&nbsp;mapping&nbsp;page&nbsp;IDs&nbsp;to&nbsp;pages,&nbsp;also&nbsp;produced&nbsp;by&nbsp;serialization,&nbsp;in<br>
order&nbsp;to&nbsp;be&nbsp;completely&nbsp;deserialized.&nbsp;If&nbsp;deserializing&nbsp;multiple&nbsp;values,&nbsp;use<br>
ListOfValuesFromListOfDicts&nbsp;instead.<br>
&nbsp;<br>
value_dict:&nbsp;a&nbsp;dictionary&nbsp;produced&nbsp;by&nbsp;<a href="#Value-AsDict">AsDict</a>()&nbsp;on&nbsp;a&nbsp;value&nbsp;subclass.<br>
page_dict:&nbsp;a&nbsp;dictionary&nbsp;mapping&nbsp;IDs&nbsp;to&nbsp;page&nbsp;objects.</tt></dd></dl>
<dl><dt><a name="Value-GetConstructorKwArgs"><strong>GetConstructorKwArgs</strong></a>(value_dict, page_dict)</dt><dd><tt>Produces&nbsp;constructor&nbsp;arguments&nbsp;from&nbsp;a&nbsp;value&nbsp;dict&nbsp;and&nbsp;a&nbsp;page&nbsp;dict.<br>
&nbsp;<br>
Takes&nbsp;a&nbsp;dict&nbsp;parsed&nbsp;from&nbsp;JSON&nbsp;and&nbsp;an&nbsp;index&nbsp;of&nbsp;pages&nbsp;and&nbsp;recovers&nbsp;the<br>
keyword&nbsp;arguments&nbsp;to&nbsp;be&nbsp;passed&nbsp;to&nbsp;the&nbsp;constructor&nbsp;for&nbsp;deserializing&nbsp;the<br>
dict.<br>
&nbsp;<br>
value_dict:&nbsp;a&nbsp;dictionary&nbsp;produced&nbsp;by&nbsp;<a href="#Value-AsDict">AsDict</a>()&nbsp;on&nbsp;a&nbsp;value&nbsp;subclass.<br>
page_dict:&nbsp;a&nbsp;dictionary&nbsp;mapping&nbsp;IDs&nbsp;to&nbsp;page&nbsp;objects.</tt></dd></dl>
<dl><dt><a name="Value-GetJSONTypeName"><strong>GetJSONTypeName</strong></a>()</dt><dd><tt>Gets&nbsp;the&nbsp;typename&nbsp;for&nbsp;serialization&nbsp;to&nbsp;JSON&nbsp;using&nbsp;AsDict.</tt></dd></dl>
<dl><dt><a name="Value-ListOfValuesFromListOfDicts"><strong>ListOfValuesFromListOfDicts</strong></a>(value_dicts, page_dict)</dt><dd><tt>Takes&nbsp;a&nbsp;list&nbsp;of&nbsp;value&nbsp;dicts&nbsp;to&nbsp;values.<br>
&nbsp;<br>
Given&nbsp;a&nbsp;list&nbsp;of&nbsp;value&nbsp;dicts&nbsp;produced&nbsp;by&nbsp;AsDict,&nbsp;this&nbsp;method<br>
deserializes&nbsp;the&nbsp;dicts&nbsp;given&nbsp;a&nbsp;dict&nbsp;mapping&nbsp;page&nbsp;IDs&nbsp;to&nbsp;pages.<br>
This&nbsp;method&nbsp;performs&nbsp;memoization&nbsp;for&nbsp;deserializing&nbsp;a&nbsp;list&nbsp;of&nbsp;values<br>
efficiently,&nbsp;where&nbsp;FromDict&nbsp;is&nbsp;meant&nbsp;to&nbsp;handle&nbsp;one-offs.<br>
&nbsp;<br>
values:&nbsp;a&nbsp;list&nbsp;of&nbsp;value&nbsp;dicts&nbsp;produced&nbsp;by&nbsp;<a href="#Value-AsDict">AsDict</a>()&nbsp;on&nbsp;a&nbsp;value&nbsp;subclass.<br>
page_dict:&nbsp;a&nbsp;dictionary&nbsp;mapping&nbsp;IDs&nbsp;to&nbsp;page&nbsp;objects.</tt></dd></dl>
<hr>
Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>name_suffix</strong></dt>
<dd><tt>Returns&nbsp;the&nbsp;string&nbsp;after&nbsp;a&nbsp;.&nbsp;in&nbsp;the&nbsp;name,&nbsp;or&nbsp;the&nbsp;full&nbsp;name&nbsp;otherwise.</tt></dd>
</dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-ValueNameFromTraceAndChartName"><strong>ValueNameFromTraceAndChartName</strong></a>(trace_name, chart_name<font color="#909090">=None</font>)</dt><dd><tt>Mangles&nbsp;a&nbsp;trace&nbsp;name&nbsp;plus&nbsp;optional&nbsp;chart&nbsp;name&nbsp;into&nbsp;a&nbsp;standard&nbsp;string.<br>
&nbsp;<br>
A&nbsp;value&nbsp;might&nbsp;just&nbsp;be&nbsp;a&nbsp;bareword&nbsp;name,&nbsp;e.g.&nbsp;numPixels.&nbsp;In&nbsp;that&nbsp;case,&nbsp;its<br>
chart&nbsp;may&nbsp;be&nbsp;None.<br>
&nbsp;<br>
But,&nbsp;a&nbsp;value&nbsp;might&nbsp;also&nbsp;be&nbsp;intended&nbsp;for&nbsp;display&nbsp;with&nbsp;other&nbsp;values,&nbsp;in&nbsp;which<br>
case&nbsp;the&nbsp;chart&nbsp;name&nbsp;indicates&nbsp;that&nbsp;grouping.&nbsp;So,&nbsp;you&nbsp;might&nbsp;have<br>
screen.numPixels,&nbsp;screen.resolution,&nbsp;where&nbsp;chartName='screen'.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>COMPUTED_PER_PAGE_SUMMARY_OUTPUT_CONTEXT</strong> = 'merged-pages-result-output-context'<br>
<strong>CONCATENATE</strong> = 'concatenate'<br>
<strong>PER_PAGE_RESULT_OUTPUT_CONTEXT</strong> = 'per-page-result-output-context'<br>
<strong>PICK_FIRST</strong> = 'pick-first'<br>
<strong>SUMMARY_RESULT_OUTPUT_CONTEXT</strong> = 'summary-result-output-context'</td></tr></table>
</body></html>