[ui] Add screenshot track
Add ui support for visualizing screenshots in traces. In followup
change we will add a python script for capturing trace and screencapture
video simultaneously and then merging into a single trace. Using the
traces captured using the script and this UI feature we should be able
to see screenshots in perfetto like this: http://screen/BcWEtzCfAt7kb6m.
Bug: b/287934064
Change-Id: I01e528a9e12b8ceab72fdbec1f1ece9ce977a5cc
diff --git a/Android.bp b/Android.bp
index f66c143..4560f9f 100644
--- a/Android.bp
+++ b/Android.bp
@@ -5370,6 +5370,7 @@
"protos/perfetto/trace/track_event/log_message.proto",
"protos/perfetto/trace/track_event/process_descriptor.proto",
"protos/perfetto/trace/track_event/range_of_interest.proto",
+ "protos/perfetto/trace/track_event/screenshot.proto",
"protos/perfetto/trace/track_event/source_location.proto",
"protos/perfetto/trace/track_event/task_execution.proto",
"protos/perfetto/trace/track_event/thread_descriptor.proto",
@@ -7969,6 +7970,7 @@
"protos/perfetto/trace/track_event/log_message.proto",
"protos/perfetto/trace/track_event/process_descriptor.proto",
"protos/perfetto/trace/track_event/range_of_interest.proto",
+ "protos/perfetto/trace/track_event/screenshot.proto",
"protos/perfetto/trace/track_event/source_location.proto",
"protos/perfetto/trace/track_event/task_execution.proto",
"protos/perfetto/trace/track_event/thread_descriptor.proto",
@@ -8002,6 +8004,7 @@
"external/perfetto/protos/perfetto/trace/track_event/log_message.gen.cc",
"external/perfetto/protos/perfetto/trace/track_event/process_descriptor.gen.cc",
"external/perfetto/protos/perfetto/trace/track_event/range_of_interest.gen.cc",
+ "external/perfetto/protos/perfetto/trace/track_event/screenshot.gen.cc",
"external/perfetto/protos/perfetto/trace/track_event/source_location.gen.cc",
"external/perfetto/protos/perfetto/trace/track_event/task_execution.gen.cc",
"external/perfetto/protos/perfetto/trace/track_event/thread_descriptor.gen.cc",
@@ -8035,6 +8038,7 @@
"protos/perfetto/trace/track_event/log_message.proto",
"protos/perfetto/trace/track_event/process_descriptor.proto",
"protos/perfetto/trace/track_event/range_of_interest.proto",
+ "protos/perfetto/trace/track_event/screenshot.proto",
"protos/perfetto/trace/track_event/source_location.proto",
"protos/perfetto/trace/track_event/task_execution.proto",
"protos/perfetto/trace/track_event/thread_descriptor.proto",
@@ -8068,6 +8072,7 @@
"external/perfetto/protos/perfetto/trace/track_event/log_message.gen.h",
"external/perfetto/protos/perfetto/trace/track_event/process_descriptor.gen.h",
"external/perfetto/protos/perfetto/trace/track_event/range_of_interest.gen.h",
+ "external/perfetto/protos/perfetto/trace/track_event/screenshot.gen.h",
"external/perfetto/protos/perfetto/trace/track_event/source_location.gen.h",
"external/perfetto/protos/perfetto/trace/track_event/task_execution.gen.h",
"external/perfetto/protos/perfetto/trace/track_event/thread_descriptor.gen.h",
@@ -8105,6 +8110,7 @@
"protos/perfetto/trace/track_event/log_message.proto",
"protos/perfetto/trace/track_event/process_descriptor.proto",
"protos/perfetto/trace/track_event/range_of_interest.proto",
+ "protos/perfetto/trace/track_event/screenshot.proto",
"protos/perfetto/trace/track_event/source_location.proto",
"protos/perfetto/trace/track_event/task_execution.proto",
"protos/perfetto/trace/track_event/thread_descriptor.proto",
@@ -8145,6 +8151,7 @@
"protos/perfetto/trace/track_event/log_message.proto",
"protos/perfetto/trace/track_event/process_descriptor.proto",
"protos/perfetto/trace/track_event/range_of_interest.proto",
+ "protos/perfetto/trace/track_event/screenshot.proto",
"protos/perfetto/trace/track_event/source_location.proto",
"protos/perfetto/trace/track_event/task_execution.proto",
"protos/perfetto/trace/track_event/thread_descriptor.proto",
@@ -8177,6 +8184,7 @@
"external/perfetto/protos/perfetto/trace/track_event/log_message.pb.cc",
"external/perfetto/protos/perfetto/trace/track_event/process_descriptor.pb.cc",
"external/perfetto/protos/perfetto/trace/track_event/range_of_interest.pb.cc",
+ "external/perfetto/protos/perfetto/trace/track_event/screenshot.pb.cc",
"external/perfetto/protos/perfetto/trace/track_event/source_location.pb.cc",
"external/perfetto/protos/perfetto/trace/track_event/task_execution.pb.cc",
"external/perfetto/protos/perfetto/trace/track_event/thread_descriptor.pb.cc",
@@ -8210,6 +8218,7 @@
"protos/perfetto/trace/track_event/log_message.proto",
"protos/perfetto/trace/track_event/process_descriptor.proto",
"protos/perfetto/trace/track_event/range_of_interest.proto",
+ "protos/perfetto/trace/track_event/screenshot.proto",
"protos/perfetto/trace/track_event/source_location.proto",
"protos/perfetto/trace/track_event/task_execution.proto",
"protos/perfetto/trace/track_event/thread_descriptor.proto",
@@ -8242,6 +8251,7 @@
"external/perfetto/protos/perfetto/trace/track_event/log_message.pb.h",
"external/perfetto/protos/perfetto/trace/track_event/process_descriptor.pb.h",
"external/perfetto/protos/perfetto/trace/track_event/range_of_interest.pb.h",
+ "external/perfetto/protos/perfetto/trace/track_event/screenshot.pb.h",
"external/perfetto/protos/perfetto/trace/track_event/source_location.pb.h",
"external/perfetto/protos/perfetto/trace/track_event/task_execution.pb.h",
"external/perfetto/protos/perfetto/trace/track_event/thread_descriptor.pb.h",
@@ -8279,6 +8289,7 @@
"protos/perfetto/trace/track_event/log_message.proto",
"protos/perfetto/trace/track_event/process_descriptor.proto",
"protos/perfetto/trace/track_event/range_of_interest.proto",
+ "protos/perfetto/trace/track_event/screenshot.proto",
"protos/perfetto/trace/track_event/source_location.proto",
"protos/perfetto/trace/track_event/task_execution.proto",
"protos/perfetto/trace/track_event/thread_descriptor.proto",
@@ -8312,6 +8323,7 @@
"external/perfetto/protos/perfetto/trace/track_event/log_message.pbzero.cc",
"external/perfetto/protos/perfetto/trace/track_event/process_descriptor.pbzero.cc",
"external/perfetto/protos/perfetto/trace/track_event/range_of_interest.pbzero.cc",
+ "external/perfetto/protos/perfetto/trace/track_event/screenshot.pbzero.cc",
"external/perfetto/protos/perfetto/trace/track_event/source_location.pbzero.cc",
"external/perfetto/protos/perfetto/trace/track_event/task_execution.pbzero.cc",
"external/perfetto/protos/perfetto/trace/track_event/thread_descriptor.pbzero.cc",
@@ -8345,6 +8357,7 @@
"protos/perfetto/trace/track_event/log_message.proto",
"protos/perfetto/trace/track_event/process_descriptor.proto",
"protos/perfetto/trace/track_event/range_of_interest.proto",
+ "protos/perfetto/trace/track_event/screenshot.proto",
"protos/perfetto/trace/track_event/source_location.proto",
"protos/perfetto/trace/track_event/task_execution.proto",
"protos/perfetto/trace/track_event/thread_descriptor.proto",
@@ -8378,6 +8391,7 @@
"external/perfetto/protos/perfetto/trace/track_event/log_message.pbzero.h",
"external/perfetto/protos/perfetto/trace/track_event/process_descriptor.pbzero.h",
"external/perfetto/protos/perfetto/trace/track_event/range_of_interest.pbzero.h",
+ "external/perfetto/protos/perfetto/trace/track_event/screenshot.pbzero.h",
"external/perfetto/protos/perfetto/trace/track_event/source_location.pbzero.h",
"external/perfetto/protos/perfetto/trace/track_event/task_execution.pbzero.h",
"external/perfetto/protos/perfetto/trace/track_event/thread_descriptor.pbzero.h",
@@ -8521,6 +8535,7 @@
"protos/perfetto/trace/track_event/log_message.proto",
"protos/perfetto/trace/track_event/process_descriptor.proto",
"protos/perfetto/trace/track_event/range_of_interest.proto",
+ "protos/perfetto/trace/track_event/screenshot.proto",
"protos/perfetto/trace/track_event/source_location.proto",
"protos/perfetto/trace/track_event/task_execution.proto",
"protos/perfetto/trace/track_event/thread_descriptor.proto",
@@ -10759,6 +10774,7 @@
"src/trace_processor/perfetto_sql/stdlib/android/monitor_contention.sql",
"src/trace_processor/perfetto_sql/stdlib/android/network_packets.sql",
"src/trace_processor/perfetto_sql/stdlib/android/process_metadata.sql",
+ "src/trace_processor/perfetto_sql/stdlib/android/screenshots.sql",
"src/trace_processor/perfetto_sql/stdlib/android/slices.sql",
"src/trace_processor/perfetto_sql/stdlib/android/startup/internal_startups_maxsdk28.sql",
"src/trace_processor/perfetto_sql/stdlib/android/startup/internal_startups_minsdk29.sql",
@@ -12176,6 +12192,7 @@
"protos/perfetto/trace/track_event/log_message.proto",
"protos/perfetto/trace/track_event/process_descriptor.proto",
"protos/perfetto/trace/track_event/range_of_interest.proto",
+ "protos/perfetto/trace/track_event/screenshot.proto",
"protos/perfetto/trace/track_event/source_location.proto",
"protos/perfetto/trace/track_event/task_execution.proto",
"protos/perfetto/trace/track_event/thread_descriptor.proto",