test: Allow textproto outputs for chrome metrics
Also:
- Reduce some code duplication in serialize_textproto_trace
- Change the frame_times metric to use the textproto output
Change-Id: Iecb8e84a675fea93e338786efbb6193ed286b682
diff --git a/tools/diff_test_trace_processor.py b/tools/diff_test_trace_processor.py
index 2565ca3..8f84a85 100755
--- a/tools/diff_test_trace_processor.py
+++ b/tools/diff_test_trace_processor.py
@@ -83,8 +83,8 @@
self.exit_code = exit_code
-def create_metrics_message_factory(metrics_descriptor_path):
- return create_message_factory(metrics_descriptor_path,
+def create_metrics_message_factory(metrics_descriptor_paths):
+ return create_message_factory(metrics_descriptor_paths,
'perfetto.protos.TraceMetrics')
@@ -391,13 +391,17 @@
trace_descriptor_path = find_trace_descriptor(
os.path.join(out_path, 'gcc_like_host'))
+
if args.metrics_descriptor:
- metrics_descriptor_path = args.metrics_descriptor
+ metrics_descriptor_paths = [args.metrics_descriptor]
else:
metrics_protos_path = os.path.join(out_path, 'gen', 'protos', 'perfetto',
'metrics')
- metrics_descriptor_path = os.path.join(metrics_protos_path,
- 'metrics.descriptor')
+ metrics_descriptor_paths = [
+ os.path.join(metrics_protos_path, 'metrics.descriptor'),
+ os.path.join(metrics_protos_path, 'chrome',
+ 'all_chrome_metrics.descriptor')
+ ]
chrome_extensions = os.path.join(out_path, 'gen', 'protos', 'third_party',
'chromium', 'chrome_track_event.descriptor')
@@ -405,7 +409,7 @@
'test_extensions.descriptor')
metrics_message_factory = create_metrics_message_factory(
- metrics_descriptor_path)
+ metrics_descriptor_paths)
test_run_start = datetime.datetime.now()
test_failure, perf_data, rebased = run_all_tests(