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

Side by Side Diff: tools/telemetry/telemetry/timeline/trace_event_importer_unittest.py

Issue 1553183002: [telemetry] Add support for composable process dumps in memory-infra (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixes. Created 4 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 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 import unittest 5 import unittest
6 6
7 import telemetry.timeline.counter as tracing_counter 7 import telemetry.timeline.counter as tracing_counter
8 import telemetry.timeline.model as timeline_model 8 import telemetry.timeline.model as timeline_model
9 from telemetry.timeline import trace_data as trace_data_module 9 from telemetry.timeline import trace_data as trace_data_module
10 10
(...skipping 1041 matching lines...) Expand 10 before | Expand all | Expand 10 after
1052 trace_data = trace_data_module.TraceData(events) 1052 trace_data = trace_data_module.TraceData(events)
1053 m = timeline_model.TimelineModel(trace_data) 1053 m = timeline_model.TimelineModel(trace_data)
1054 self.assertEqual(0, len(m.flow_events)) 1054 self.assertEqual(0, len(m.flow_events))
1055 1055
1056 def testImportMemoryDumpEvents(self): 1056 def testImportMemoryDumpEvents(self):
1057 events = [ 1057 events = [
1058 {'name': 'a', 'cat': 'b', 'ph': 'v', 'pid': 52, 'ts': 123, 1058 {'name': 'a', 'cat': 'b', 'ph': 'v', 'pid': 52, 'ts': 123,
1059 'id': '1234ABCD'}, 1059 'id': '1234ABCD'},
1060 {'name': 'a', 'cat': 'b', 'ph': 'v', 'pid': 54, 'ts': 134, 1060 {'name': 'a', 'cat': 'b', 'ph': 'v', 'pid': 54, 'ts': 134,
1061 'id': '1234ABCD'}, 1061 'id': '1234ABCD'},
1062 {'name': 'a', 'cat': 'b', 'ph': 'v', 'pid': 52, 'ts': 144,
1063 'id': '1234ABCD'},
1062 {'name': 'a', 'cat': 'b', 'ph': 'v', 'pid': 52, 'ts': 245, 1064 {'name': 'a', 'cat': 'b', 'ph': 'v', 'pid': 52, 'ts': 245,
1063 'id': '1234ABDF'}, 1065 'id': '1234ABDF'},
1064 {'name': 'a', 'cat': 'b', 'ph': 'v', 'pid': 54, 'ts': 256, 1066 {'name': 'a', 'cat': 'b', 'ph': 'v', 'pid': 54, 'ts': 256,
1065 'id': '1234ABDF'}, 1067 'id': '1234ABDF'},
1068 {'name': 'a', 'cat': 'b', 'ph': 'v', 'pid': 52, 'ts': 233,
1069 'id': '1234ABDF'},
1066 ] 1070 ]
1067 1071
1068 expected = [['1234ABCD', 0, 11], ['1234ABDF', 122, 11]] 1072 expected_processes = set([52, 54])
1073 expected_results = [['1234ABCD', 0, 21], ['1234ABDF', 110, 23]]
1069 trace_data = trace_data_module.TraceData(events) 1074 trace_data = trace_data_module.TraceData(events)
1070 m = timeline_model.TimelineModel(trace_data) 1075 m = timeline_model.TimelineModel(trace_data)
1076 assert set(p.pid for p in m.GetAllProcesses()) == expected_processes
1077
1071 memory_dumps = list(m.IterGlobalMemoryDumps()) 1078 memory_dumps = list(m.IterGlobalMemoryDumps())
1072 self.assertEqual(len(expected), len(memory_dumps)) 1079 self.assertEqual(len(expected_results), len(memory_dumps))
1073 for memory_dump, test_values in zip(memory_dumps, expected): 1080 for memory_dump, test_values in zip(memory_dumps, expected_results):
1081 assert len(list(memory_dump.IterProcessMemoryDumps())) == len(
1082 expected_processes)
1074 dump_id, start, duration = test_values 1083 dump_id, start, duration = test_values
1075 self.assertEquals(dump_id, memory_dump.dump_id) 1084 self.assertEquals(dump_id, memory_dump.dump_id)
1076 self.assertAlmostEqual(start / 1000.0, memory_dump.start) 1085 self.assertAlmostEqual(start / 1000.0, memory_dump.start)
1077 self.assertAlmostEqual(duration / 1000.0, memory_dump.duration) 1086 self.assertAlmostEqual(duration / 1000.0, memory_dump.duration)
1078 1087
1079 def testImportOutOfOrderMemoryDumpEvents(self): 1088 def testImportOutOfOrderMemoryDumpEvents(self):
1080 events = [ 1089 events = [
1081 {'name': 'a', 'cat': 'b', 'ph': 'v', 'pid': 52, 'ts': 245, 1090 {'name': 'a', 'cat': 'b', 'ph': 'v', 'pid': 52, 'ts': 245,
1082 'id': '1234ABDF'}, 1091 'id': '1234ABDF'},
1083 {'name': 'a', 'cat': 'b', 'ph': 'v', 'pid': 54, 'ts': 134, 1092 {'name': 'a', 'cat': 'b', 'ph': 'v', 'pid': 54, 'ts': 134,
(...skipping 30 matching lines...) Expand all
1114 ] 1123 ]
1115 trace_data = trace_data_module.TraceData(events) 1124 trace_data = trace_data_module.TraceData(events)
1116 m = timeline_model.TimelineModel(trace_data) 1125 m = timeline_model.TimelineModel(trace_data)
1117 processes = m.GetAllProcesses() 1126 processes = m.GetAllProcesses()
1118 1127
1119 self.assertEqual(len(processes), len(expected)) 1128 self.assertEqual(len(processes), len(expected))
1120 for process, test_values in zip(processes, expected): 1129 for process, test_values in zip(processes, expected):
1121 process_labels, process_name = test_values 1130 process_labels, process_name = test_values
1122 self.assertEquals(process_labels, process.labels) 1131 self.assertEquals(process_labels, process.labels)
1123 self.assertEquals(process_name, process.name) 1132 self.assertEquals(process_name, process.name)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698