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

Side by Side Diff: tools/perf/measurements/thread_times_unittest.py

Issue 1084533005: Support total and per-second task/threadtime timeline metrics (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Code review (use %) Created 5 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 unified diff | Download patch
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 from telemetry.core import wpr_modes 5 from telemetry.core import wpr_modes
6 from telemetry import decorators 6 from telemetry import decorators
7 from telemetry.page import page 7 from telemetry.page import page
8 from telemetry.unittest_util import options_for_unittests 8 from telemetry.unittest_util import options_for_unittests
9 from telemetry.unittest_util import page_test_test_case 9 from telemetry.unittest_util import page_test_test_case
10 10
(...skipping 17 matching lines...) Expand all
28 self._options.browser_options.wpr_mode = wpr_modes.WPR_OFF 28 self._options.browser_options.wpr_mode = wpr_modes.WPR_OFF
29 29
30 @decorators.Disabled('android') 30 @decorators.Disabled('android')
31 def testBasic(self): 31 def testBasic(self):
32 ps = self.CreatePageSetFromFileInUnittestDataDir('scrollable_page.html') 32 ps = self.CreatePageSetFromFileInUnittestDataDir('scrollable_page.html')
33 measurement = thread_times.ThreadTimes() 33 measurement = thread_times.ThreadTimes()
34 timeline_options = self._options 34 timeline_options = self._options
35 results = self.RunMeasurement(measurement, ps, options = timeline_options) 35 results = self.RunMeasurement(measurement, ps, options = timeline_options)
36 self.assertFalse(len(results.failures), results.failures) 36 self.assertFalse(len(results.failures), results.failures)
37 37
38 for category in timeline.TimelineThreadCategories.values(): 38 for interval in timeline.IntervalNames:
39 cpu_time_name = timeline.ThreadCpuTimeResultName(category) 39 for category in timeline.TimelineThreadCategories.values():
40 cpu_time = results.FindAllPageSpecificValuesNamed(cpu_time_name) 40 cpu_time_name = timeline.ThreadCpuTimeResultName(category, interval)
41 self.assertEquals(len(cpu_time), 1) 41 cpu_time = results.FindAllPageSpecificValuesNamed(cpu_time_name)
42 self.assertEquals(len(cpu_time), 1)
42 43
43 def testBasicForPageWithNoGesture(self): 44 def testBasicForPageWithNoGesture(self):
44 ps = self.CreateEmptyPageSet() 45 ps = self.CreateEmptyPageSet()
45 ps.AddUserStory(AnimatedPage(ps)) 46 ps.AddUserStory(AnimatedPage(ps))
46 47
47 measurement = thread_times.ThreadTimes() 48 measurement = thread_times.ThreadTimes()
48 timeline_options = self._options 49 timeline_options = self._options
49 results = self.RunMeasurement(measurement, ps, options = timeline_options) 50 results = self.RunMeasurement(measurement, ps, options = timeline_options)
50 self.assertEquals(0, len(results.failures)) 51 self.assertEquals(0, len(results.failures))
51 52
52 for category in timeline.TimelineThreadCategories.values(): 53 for interval in timeline.IntervalNames:
53 cpu_time_name = timeline.ThreadCpuTimeResultName(category) 54 for category in timeline.TimelineThreadCategories.values():
54 cpu_time = results.FindAllPageSpecificValuesNamed(cpu_time_name) 55 cpu_time_name = timeline.ThreadCpuTimeResultName(category, interval)
55 self.assertEquals(len(cpu_time), 1) 56 cpu_time = results.FindAllPageSpecificValuesNamed(cpu_time_name)
57 self.assertEquals(len(cpu_time), 1)
56 58
57 def testWithSilkDetails(self): 59 def testWithSilkDetails(self):
58 ps = self.CreatePageSetFromFileInUnittestDataDir('scrollable_page.html') 60 ps = self.CreatePageSetFromFileInUnittestDataDir('scrollable_page.html')
59 measurement = thread_times.ThreadTimes(report_silk_details=True) 61 measurement = thread_times.ThreadTimes(report_silk_details=True)
60 results = self.RunMeasurement(measurement, ps, options = self._options) 62 results = self.RunMeasurement(measurement, ps, options = self._options)
61 self.assertEquals(0, len(results.failures)) 63 self.assertEquals(0, len(results.failures))
62 64
63 main_thread = "renderer_main" 65 main_thread = "renderer_main"
64 expected_trace_categories = ["blink", "cc", "idle"] 66 expected_trace_categories = ["blink", "cc", "idle"]
65 for trace_category in expected_trace_categories: 67 for interval in timeline.IntervalNames:
66 value_name = timeline.ThreadDetailResultName(main_thread, trace_category) 68 for trace_category in expected_trace_categories:
67 values = results.FindAllPageSpecificValuesNamed(value_name) 69 value_name = timeline.ThreadDetailResultName(
68 self.assertEquals(len(values), 1) 70 main_thread, interval, trace_category)
71 values = results.FindAllPageSpecificValuesNamed(value_name)
72 self.assertEquals(len(values), 1)
69 73
70 def testCleanUpTrace(self): 74 def testCleanUpTrace(self):
71 self.TestTracingCleanedUp(thread_times.ThreadTimes, self._options) 75 self.TestTracingCleanedUp(thread_times.ThreadTimes, self._options)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698