Commit af5198be authored by Ehsan Chiniforooshan's avatar Ehsan Chiniforooshan Committed by Commit Bot

Telemetry: remove old cpu_per_frame metrics

TBMv2 versions are added in
https://chromium-review.googlesource.com/c/catapult/+/1308815

Bug: 890757
Change-Id: If9f56016acbcd7f218a4e5516dcd74d0ae1a5327
Reviewed-on: https://chromium-review.googlesource.com/c/1313548Reviewed-by: default avatarNed Nguyen <nednguyen@google.com>
Commit-Queue: Ehsan Chiniforooshan <chiniforooshan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#605016}
parent a0d3e663
...@@ -51,22 +51,6 @@ def Rate(numerator, denominator): ...@@ -51,22 +51,6 @@ def Rate(numerator, denominator):
return DivideIfPossibleOrZero(numerator, denominator) return DivideIfPossibleOrZero(numerator, denominator)
def ClockOverheadForEvent(event):
if (event.category == OverheadTraceCategory and
event.name == OverheadTraceName):
return event.duration
else:
return 0
def CpuOverheadForEvent(event):
if (event.category == OverheadTraceCategory and
event.thread_duration):
return event.thread_duration
else:
return 0
def ThreadCategoryName(thread_name): def ThreadCategoryName(thread_name):
thread_category = "other" thread_category = "other"
for substring, category in TimelineThreadCategories.iteritems(): for substring, category in TimelineThreadCategories.iteritems():
...@@ -77,11 +61,6 @@ def ThreadCategoryName(thread_name): ...@@ -77,11 +61,6 @@ def ThreadCategoryName(thread_name):
return thread_category return thread_category
def ThreadCpuTimeResultName(thread_category):
# This isn't a good name, but I don't want to change it and lose continuity.
return "thread_" + thread_category + "_cpu_time_per_frame"
def ThreadTasksResultName(thread_category): def ThreadTasksResultName(thread_category):
return "tasks_per_frame_" + thread_category return "tasks_per_frame_" + thread_category
...@@ -106,29 +85,6 @@ class ResultsForThread(object): ...@@ -106,29 +85,6 @@ class ResultsForThread(object):
self.all_action_time = \ self.all_action_time = \
sum([record_range.bounds for record_range in self.record_ranges]) sum([record_range.bounds for record_range in self.record_ranges])
@property
def clock_time(self):
clock_duration = sum([x.duration for x in self.toplevel_slices])
clock_overhead = sum([ClockOverheadForEvent(x) for x in self.all_slices])
return clock_duration - clock_overhead
@property
def cpu_time(self):
cpu_duration = 0
cpu_overhead = sum([CpuOverheadForEvent(x) for x in self.all_slices])
for x in self.toplevel_slices:
# Only report thread-duration if we have it for all events.
#
# A thread_duration of 0 is valid, so this only returns 0 if it is None.
if x.thread_duration is None:
if not x.duration:
continue
else:
return 0
else:
cpu_duration += x.thread_duration
return cpu_duration - cpu_overhead
def SlicesInActions(self, slices): def SlicesInActions(self, slices):
slices_in_actions = [] slices_in_actions = []
for event in slices: for event in slices:
...@@ -144,13 +100,7 @@ class ResultsForThread(object): ...@@ -144,13 +100,7 @@ class ResultsForThread(object):
# Reports cpu-time per interval and tasks per interval. # Reports cpu-time per interval and tasks per interval.
def AddResults(self, num_intervals, results): def AddResults(self, num_intervals, results):
cpu_per_interval = Rate(self.cpu_time, num_intervals)
tasks_per_interval = Rate(len(self.toplevel_slices), num_intervals) tasks_per_interval = Rate(len(self.toplevel_slices), num_intervals)
results.AddValue(scalar.ScalarValue(
results.current_page,
ThreadCpuTimeResultName(self.name),
"ms",
cpu_per_interval))
results.AddValue(scalar.ScalarValue( results.AddValue(scalar.ScalarValue(
results.current_page, results.current_page,
ThreadTasksResultName(self.name), ThreadTasksResultName(self.name),
......
...@@ -35,8 +35,7 @@ class ThreadTimesTimelineMetricUnittest(unittest.TestCase): ...@@ -35,8 +35,7 @@ class ThreadTimesTimelineMetricUnittest(unittest.TestCase):
# Test that all result thread categories exist # Test that all result thread categories exist
for name in timeline.TimelineThreadCategories.values(): for name in timeline.TimelineThreadCategories.values():
results.GetPageSpecificValueNamed( results.GetPageSpecificValueNamed(timeline.ThreadTasksResultName(name))
timeline.ThreadCpuTimeResultName(name))
def testBasic(self): def testBasic(self):
model = model_module.TimelineModel() model = model_module.TimelineModel()
...@@ -77,46 +76,9 @@ class ThreadTimesTimelineMetricUnittest(unittest.TestCase): ...@@ -77,46 +76,9 @@ class ThreadTimesTimelineMetricUnittest(unittest.TestCase):
(timeline.ThreadMeanFrameTimeResultName(cc_thread), 'ms', 10.0), (timeline.ThreadMeanFrameTimeResultName(cc_thread), 'ms', 10.0),
(timeline.ThreadTasksResultName(main_thread), 'tasks', 0.5), (timeline.ThreadTasksResultName(main_thread), 'tasks', 0.5),
(timeline.ThreadTasksResultName(cc_thread), 'tasks', 1.0), (timeline.ThreadTasksResultName(cc_thread), 'tasks', 1.0),
(timeline.ThreadCpuTimeResultName(main_thread), 'ms', 9.75),
(timeline.ThreadCpuTimeResultName(cc_thread), 'ms', 1.0),
(timeline.ThreadDetailResultName(main_thread, 'cat1'), 'ms', 9.5), (timeline.ThreadDetailResultName(main_thread, 'cat1'), 'ms', 9.5),
(timeline.ThreadDetailResultName(main_thread, 'cat2'), 'ms', 0.5), (timeline.ThreadDetailResultName(main_thread, 'cat2'), 'ms', 0.5),
(timeline.ThreadDetailResultName(main_thread, 'idle'), 'ms', 0), (timeline.ThreadDetailResultName(main_thread, 'idle'), 'ms', 0),
] ]
for name, unit, value in assert_results: for name, unit, value in assert_results:
results.AssertHasPageSpecificScalarValue(name, unit, value) results.AssertHasPageSpecificScalarValue(name, unit, value)
def testOverheadIsRemoved(self):
model = model_module.TimelineModel()
renderer_main = model.GetOrCreateProcess(1).GetOrCreateThread(2)
renderer_main.name = 'CrRendererMain'
# Create one frame swap.
cc_main = model.GetOrCreateProcess(1).GetOrCreateThread(3)
cc_main.name = 'Compositor'
cc_main.BeginSlice('cc_cat', timeline.FrameTraceName, 10, 10,
args={'step': 'GenerateCompositorFrame'})
cc_main.EndSlice(11, 11)
# [ X ]
# [Overhead]
overhead_category = timeline.OverheadTraceCategory
overhead_name = timeline.OverheadTraceName
renderer_main.BeginSlice('cat1', 'X', 10, 0)
renderer_main.BeginSlice(overhead_category, overhead_name, 15, 5)
renderer_main.EndSlice(16, 6)
renderer_main.EndSlice(30, 10)
model.FinalizeImport()
# Include everything in an action-range.
metric = timeline.ThreadTimesTimelineMetric()
metric.details_to_report = timeline.ReportMainThreadOnly
results = self.GetResults(metric, model, renderer_main.parent,
[_GetInteractionRecord(10, 30)])
# Test a couple specific results.
assert_results = [
(timeline.ThreadCpuTimeResultName('renderer_main'), 'ms', 9.0),
]
for name, unit, value in assert_results:
results.AssertHasPageSpecificScalarValue(name, unit, value)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment