Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(82)

Unified Diff: tools/perf/contrib/cros_benchmarks/tab_switching_measure.py

Issue 2890333002: Tab Switching Benchmark for ChromeOS (Closed)
Patch Set: Tab Switching Benchmark for ChromeOS Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/perf/contrib/cros_benchmarks/tab_switching_measure.py
diff --git a/tools/perf/contrib/cros_benchmarks/tab_switching_measure.py b/tools/perf/contrib/cros_benchmarks/tab_switching_measure.py
new file mode 100644
index 0000000000000000000000000000000000000000..8ca8a9e3f55fe31614dfb576cbcdebcd5e97a2a3
--- /dev/null
+++ b/tools/perf/contrib/cros_benchmarks/tab_switching_measure.py
@@ -0,0 +1,44 @@
+# Copyright 2017 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""The tab switching measurement.
+
+This measurement record the MPArch.RWH_TabSwitchPaintDuration histogram
+of each tab swithcing.
+"""
+
+from telemetry.page import legacy_page_test
+from telemetry.value import histogram
+from telemetry.value import histogram_util
+
+from contrib.cros_benchmarks import cros_utils
+
+
+class CrosTabSwitchingMeasurement(legacy_page_test.LegacyPageTest):
+ """Measures tab switching performance."""
+
+ def __init__(self):
+ super(CrosTabSwitchingMeasurement, self).__init__()
+ self._first_histogram = None
+
+ def CustomizeBrowserOptions(self, options):
+ """Adding necessary browser flag to collect histogram."""
+ options.AppendExtraBrowserArgs(['--enable-stats-collection-bindings'])
+
+ def DidNavigateToPage(self, page, tab):
+ """Record the starting histogram."""
+ self._first_histogram = cros_utils.GetTabSwitchHistogramRetry(tab.browser)
+
+ def ValidateAndMeasurePage(self, page, tab, results):
+ """Record the ending histogram for the tab switching metric."""
+ last_histogram = cros_utils.GetTabSwitchHistogramRetry(tab.browser)
+ total_diff_histogram = histogram_util.SubtractHistogram(
+ last_histogram, self._first_histogram)
+
+ display_name = 'MPArch_RWH_TabSwitchPaintDuration'
+ results.AddSummaryValue(
+ histogram.HistogramValue(
+ None, display_name, 'ms',
+ raw_value_json=total_diff_histogram,
+ important=False))
« no previous file with comments | « tools/perf/contrib/cros_benchmarks/tab_switching_bench.py ('k') | tools/perf/contrib/cros_benchmarks/tab_switching_stories.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698