diff options
author | ernstm@chromium.org <ernstm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-24 05:06:53 +0000 |
---|---|---|
committer | ernstm@chromium.org <ernstm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-24 05:06:53 +0000 |
commit | 1af13913e797918fe0e3995f619e3d5519cc22a0 (patch) | |
tree | 6c32c0255a14d13378bc5ae8abe5a91c8f5d4d15 /tools/telemetry | |
parent | 7eb214006eb59cb1901560862302b9387cab9709 (diff) | |
download | chromium_src-1af13913e797918fe0e3995f619e3d5519cc22a0.zip chromium_src-1af13913e797918fe0e3995f619e3d5519cc22a0.tar.gz chromium_src-1af13913e797918fe0e3995f619e3d5519cc22a0.tar.bz2 |
telemetry: Fixed summary of by_url results when page-repeat>1
- Code for making URL list was only working for pageset-repeat,
but not for page-repeat (breaking out of the loop when the first cycle
is found)
- Fixed by using a Set in addition to the List to efficiently make URLs
unique while preserving order
- Added unittest for page-repeat>1
R=tonyg@chromium.org
BUG=263600
Review URL: https://chromiumcodereview.appspot.com/19597007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@213348 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/telemetry')
-rw-r--r-- | tools/telemetry/telemetry/page/buildbot_page_measurement_results.py | 8 | ||||
-rw-r--r-- | tools/telemetry/telemetry/page/buildbot_page_measurement_results_unittest.py | 32 |
2 files changed, 38 insertions, 2 deletions
diff --git a/tools/telemetry/telemetry/page/buildbot_page_measurement_results.py b/tools/telemetry/telemetry/page/buildbot_page_measurement_results.py index c086eff..0f1ab81 100644 --- a/tools/telemetry/telemetry/page/buildbot_page_measurement_results.py +++ b/tools/telemetry/telemetry/page/buildbot_page_measurement_results.py @@ -33,12 +33,16 @@ class BuildbotPageMeasurementResults( success_page_results = self._page_results # Print out the list of unique pages. + # Use a set and a list to efficiently create an order preserving list of + # unique URLs. unique_page_urls = [] + unique_page_urls_set = set() for page_values in success_page_results: url = page_values.page.display_url - if unique_page_urls and unique_page_urls[0] == url: - break + if url in unique_page_urls_set: + continue unique_page_urls.append(url) + unique_page_urls_set.add(url) perf_tests_helper.PrintPages(unique_page_urls) # Build the results summary. diff --git a/tools/telemetry/telemetry/page/buildbot_page_measurement_results_unittest.py b/tools/telemetry/telemetry/page/buildbot_page_measurement_results_unittest.py index d73460a..147fa2f 100644 --- a/tools/telemetry/telemetry/page/buildbot_page_measurement_results_unittest.py +++ b/tools/telemetry/telemetry/page/buildbot_page_measurement_results_unittest.py @@ -125,6 +125,38 @@ class BuildbotPageMeasurementResultsTest(unittest.TestCase): measurement_results.results, expected) + def test_repeated_pages(self): + test_page_set = _MakePageSet() + + measurement_results = SummarySavingPageMeasurementResults() + measurement_results.WillMeasurePage(test_page_set.pages[0]) + measurement_results.Add('a', 'seconds', 3) + measurement_results.DidMeasurePage() + + measurement_results.WillMeasurePage(test_page_set.pages[0]) + measurement_results.Add('a', 'seconds', 4) + measurement_results.DidMeasurePage() + + measurement_results.WillMeasurePage(test_page_set.pages[1]) + measurement_results.Add('a', 'seconds', 7) + measurement_results.DidMeasurePage() + + measurement_results.WillMeasurePage(test_page_set.pages[1]) + measurement_results.Add('a', 'seconds', 8) + measurement_results.DidMeasurePage() + + measurement_results.PrintSummary() + expected = ['RESULT a_by_url: http___www.foo.com_= [3,4] seconds\n' + + 'Avg a_by_url: 3.500000seconds\nSd a_by_url: 0.707107seconds', + 'RESULT a_by_url: http___www.bar.com_= [7,8] seconds\n' + + 'Avg a_by_url: 7.500000seconds\nSd a_by_url: 0.707107seconds', + '*RESULT a: a= [3,4,7,8] seconds\n' + + 'Avg a: 5.500000seconds\nSd a: 2.380476seconds' + ] + self.assertEquals( + measurement_results.results, + expected) + def test_overall_results(self): test_page_set = _MakePageSet() |