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

Unified Diff: tools/perf/metrics/timeline_unittest.py

Issue 138923004: Telemetry: Normalize fast-path results with frames. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Customize silk/fastpath results. Created 6 years, 11 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
« tools/perf/benchmarks/silk.py ('K') | « tools/perf/metrics/timeline.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/perf/metrics/timeline_unittest.py
diff --git a/tools/perf/metrics/timeline_unittest.py b/tools/perf/metrics/timeline_unittest.py
index 7f1b2afc53599780b0feadf0957090b39a090b1c..2a79f9e27775fd813166474cf7f8f130efd0604f 100644
--- a/tools/perf/metrics/timeline_unittest.py
+++ b/tools/perf/metrics/timeline_unittest.py
@@ -1,4 +1,4 @@
-# Copyright 2014 The Chromium Authors. All rights reserved.
+# Copyright 2013 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.
@@ -46,6 +46,14 @@ class ThreadTimesTimelineMetricUnittest(unittest.TestCase):
renderer_main = model.GetOrCreateProcess(1).GetOrCreateThread(2)
renderer_main.name = 'CrRendererMain'
+ # Create two frame swaps (Results times should be divided by two)
+ gpu_main = model.GetOrCreateProcess(1).GetOrCreateThread(3)
+ gpu_main.name = 'CrGPUMain'
+ gpu_main.BeginSlice('gpucat', ':RealSwapBuffers', 10, 10)
+ gpu_main.EndSlice(11, 11)
+ gpu_main.BeginSlice('gpucat', ':RealSwapBuffers', 12, 12)
+ gpu_main.EndSlice(13, 13)
+
# [ X ]
# [ Y ]
renderer_main.BeginSlice('cat1', 'X', 10, 0)
@@ -55,37 +63,20 @@ class ThreadTimesTimelineMetricUnittest(unittest.TestCase):
model.FinalizeImport()
metric = timeline.ThreadTimesTimelineMetric()
- metric.report_renderer_main_details = True
+ metric.details_to_report = timeline.MainThread
results = self.GetResultsForModel(metric, model)
- results.AssertHasPageSpecificScalarValue(
- 'thread_renderer_main_clock_time_percentage', '%', 100)
- results.AssertHasPageSpecificScalarValue(
- 'renderer_main|cat1', 'ms', 19)
- results.AssertHasPageSpecificScalarValue(
- 'renderer_main|cat2', 'ms', 1)
- results.AssertHasPageSpecificScalarValue(
- 'renderer_main|idle', 'ms', 0)
-
- def testPercentage(self):
- model = model_module.TimelineModel()
- renderer_main = model.GetOrCreateProcess(1).GetOrCreateThread(2)
- renderer_main.name = 'CrRendererMain'
- # [ X ] [ Z ]
- # X is 20ms, then 10ms delay, then Z is 10ms
- renderer_main.BeginSlice('cat', 'X', 10, 0)
- renderer_main.EndSlice(30, 19.5)
- renderer_main.BeginSlice('cat', 'Z', 40, 20)
- renderer_main.EndSlice(50, 30)
- model.FinalizeImport()
-
- metric = timeline.ThreadTimesTimelineMetric()
- metric.report_renderer_main_details = True
- results = self.GetResultsForModel(metric, model)
+ # Test that all categories exist
+ for name in timeline.TimelineThreadCategories.values():
+ results.GetPageSpecificValueNamed(timeline.ThreadTimeResultName(name))
+ results.GetPageSpecificValueNamed(timeline.ThreadCpuTimeResultName(name))
- results.AssertHasPageSpecificScalarValue(
- 'thread_renderer_main_clock_time_percentage', '%', 75)
- results.AssertHasPageSpecificScalarValue(
- 'renderer_main|cat', 'ms', 30)
- results.AssertHasPageSpecificScalarValue(
- 'renderer_main|idle', 'ms', 10)
+ # Test a couple specific results.
+ assert_results = {
+ timeline.ThreadTimeResultName('renderer_main') : 10,
+ timeline.ThreadDetailResultName('renderer_main','cat1') : 9.5,
+ timeline.ThreadDetailResultName('renderer_main','cat2') : 0.5,
+ timeline.ThreadDetailResultName('renderer_main','idle') : 0
+ }
+ for name, value in assert_results.iteritems():
+ results.AssertHasPageSpecificScalarValue(name, 'ms', value)
« tools/perf/benchmarks/silk.py ('K') | « tools/perf/metrics/timeline.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698