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

Unified Diff: tools/telemetry/telemetry/core/timeline/thread_unittest.py

Issue 273103003: Add responsiveness_metric for timeline_based_measurement (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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/telemetry/telemetry/core/timeline/thread_unittest.py
diff --git a/tools/telemetry/telemetry/core/timeline/thread_unittest.py b/tools/telemetry/telemetry/core/timeline/thread_unittest.py
index 4b5818ea4d71d76b1e4792a371df438c369e34b8..9121f0c3a67710d80603b6503fc8f151680091c1 100644
--- a/tools/telemetry/telemetry/core/timeline/thread_unittest.py
+++ b/tools/telemetry/telemetry/core/timeline/thread_unittest.py
@@ -7,7 +7,7 @@ from telemetry.core.timeline import model as model_module
class ThreadUnittest(unittest.TestCase):
- def testIterAllSlicesInRange(self):
+ def testIterAllSlicesInTimeRange(self):
model = model_module.TimelineModel()
renderer_main = model.GetOrCreateProcess(1).GetOrCreateThread(2)
# [ X ] [ Y ] [ U ]
@@ -27,5 +27,38 @@ class ThreadUnittest(unittest.TestCase):
model.FinalizeImport(shift_world_to_zero=False)
slice_names = set(s.name for s in
- renderer_main.IterAllSlicesInRange(start=12, end=65))
+ renderer_main.IterAllSlicesInTimeRange(start=12, end=65))
self.assertEqual(slice_names, {'Z', 'Y', 'T'})
+
+ def testIterAllSlicesOverlappedWithThreadTimeRange(self):
+ model = model_module.TimelineModel()
+ renderer_main = model.GetOrCreateProcess(1).GetOrCreateThread(2)
+ # [ X ] [ Y ] [ U ]
+ # [ Z ] [ T ]
+ # | |
+ # start end
+
+ # Z starts at 5 and ends at 12 (thread time)
+ renderer_main.BeginSlice('cat1', 'Z', 10, 5)
+ renderer_main.EndSlice(20, 10)
+
+ # X starts at 15 and ends at 25 (thread time)
+ # T starts at 17 and ends at 20 (thread time)
+ renderer_main.BeginSlice('cat1', 'X', 20, 15)
+ renderer_main.BeginSlice('cat1', 'T', 22, 17)
+ renderer_main.EndSlice(25, 20)
+ renderer_main.EndSlice(35, 25)
+
+ # Y starts at 30 and ends at 45 (thread time)
+ renderer_main.BeginSlice('cat1', 'Y', 50, 30)
+ renderer_main.EndSlice(60, 45)
+
+ # U starts at 55 and ends at 65 (thread time)
+ renderer_main.BeginSlice('cat1', 'U', 60, 55)
+ renderer_main.EndSlice(70, 65)
+
+ model.FinalizeImport(shift_world_to_zero=False)
+ slice_names = set(
+ s.name for s in
+ renderer_main.IterAllSlicesOverlappedWithThreadTimeRange(16, 35))
+ self.assertEqual(slice_names, {'X', 'Y', 'T'})

Powered by Google App Engine
This is Rietveld 408576698