metrics: add surfaceflinger metric and derived events

This CL adds tracking of missed frames (by considering the
PrevFrameMissed event from surface flinger) and exposes them as a
top-level derived event track.

Change-Id: I696a1d1090940b284d36695d4d68f87b69fcca78
diff --git a/Android.bp b/Android.bp
index 886f6a3..b1fdcd5 100644
--- a/Android.bp
+++ b/Android.bp
@@ -32,12 +32,14 @@
     "src/trace_processor/metrics/android/android_powrails.sql",
     "src/trace_processor/metrics/android/android_startup.sql",
     "src/trace_processor/metrics/android/android_startup_launches.sql",
+    "src/trace_processor/metrics/android/android_surfaceflinger.sql",
     "src/trace_processor/metrics/android/android_task_names.sql",
     "src/trace_processor/metrics/android/android_task_state.sql",
     "src/trace_processor/metrics/android/android_thread_time_in_state.sql",
     "src/trace_processor/metrics/android/counter_span_view.sql",
     "src/trace_processor/metrics/android/cpu_info.sql",
     "src/trace_processor/metrics/android/display_metrics.sql",
+    "src/trace_processor/metrics/android/frame_missed.sql",
     "src/trace_processor/metrics/android/heap_profile_callsites.sql",
     "src/trace_processor/metrics/android/hsc_startups.sql",
     "src/trace_processor/metrics/android/java_heap_histogram.sql",
@@ -3113,6 +3115,7 @@
     "protos/perfetto/metrics/android/powrails_metric.proto",
     "protos/perfetto/metrics/android/process_metadata.proto",
     "protos/perfetto/metrics/android/startup_metric.proto",
+    "protos/perfetto/metrics/android/surfaceflinger.proto",
     "protos/perfetto/metrics/android/task_names.proto",
     "protos/perfetto/metrics/android/thread_time_in_state_metric.proto",
     "protos/perfetto/metrics/android/unmapped_java_symbols.proto",
@@ -3140,6 +3143,7 @@
     "external/perfetto/protos/perfetto/metrics/android/powrails_metric.pbzero.cc",
     "external/perfetto/protos/perfetto/metrics/android/process_metadata.pbzero.cc",
     "external/perfetto/protos/perfetto/metrics/android/startup_metric.pbzero.cc",
+    "external/perfetto/protos/perfetto/metrics/android/surfaceflinger.pbzero.cc",
     "external/perfetto/protos/perfetto/metrics/android/task_names.pbzero.cc",
     "external/perfetto/protos/perfetto/metrics/android/thread_time_in_state_metric.pbzero.cc",
     "external/perfetto/protos/perfetto/metrics/android/unmapped_java_symbols.pbzero.cc",
@@ -3167,6 +3171,7 @@
     "protos/perfetto/metrics/android/powrails_metric.proto",
     "protos/perfetto/metrics/android/process_metadata.proto",
     "protos/perfetto/metrics/android/startup_metric.proto",
+    "protos/perfetto/metrics/android/surfaceflinger.proto",
     "protos/perfetto/metrics/android/task_names.proto",
     "protos/perfetto/metrics/android/thread_time_in_state_metric.proto",
     "protos/perfetto/metrics/android/unmapped_java_symbols.proto",
@@ -3194,6 +3199,7 @@
     "external/perfetto/protos/perfetto/metrics/android/powrails_metric.pbzero.h",
     "external/perfetto/protos/perfetto/metrics/android/process_metadata.pbzero.h",
     "external/perfetto/protos/perfetto/metrics/android/startup_metric.pbzero.h",
+    "external/perfetto/protos/perfetto/metrics/android/surfaceflinger.pbzero.h",
     "external/perfetto/protos/perfetto/metrics/android/task_names.pbzero.h",
     "external/perfetto/protos/perfetto/metrics/android/thread_time_in_state_metric.pbzero.h",
     "external/perfetto/protos/perfetto/metrics/android/unmapped_java_symbols.pbzero.h",