summaryrefslogtreecommitdiffstats
path: root/tools/telemetry
diff options
context:
space:
mode:
authorernstm@chromium.org <ernstm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-24 05:06:53 +0000
committerernstm@chromium.org <ernstm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-24 05:06:53 +0000
commit1af13913e797918fe0e3995f619e3d5519cc22a0 (patch)
tree6c32c0255a14d13378bc5ae8abe5a91c8f5d4d15 /tools/telemetry
parent7eb214006eb59cb1901560862302b9387cab9709 (diff)
downloadchromium_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.py8
-rw-r--r--tools/telemetry/telemetry/page/buildbot_page_measurement_results_unittest.py32
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()