Add android_boot metric
For now his computes the total time certain processes spend in
uinterruptible sleep as well as the total duration of all scheduling
slices owned by the given process. Right now we only care about
uninterruptible sleep, but the proto is designed so that we can easily
append more fields for different scheduling states. We pick the name
'android_boot' to make it clear that this proto can be used for future
boot related metrics.
Test: <trace_processor_shell> --run-metrics android_boot <trace>
Test: tools/diff_test_trace_processor.py <trace_processor_shell> --name-filter='.*android_boot*'
Bug: 300681738
Change-Id: I5ded2c78cdaab32cbca94bd1b9c1ef9149a32ea5
diff --git a/Android.bp b/Android.bp
index 081ab9b..617ddb5 100644
--- a/Android.bp
+++ b/Android.bp
@@ -4589,6 +4589,7 @@
srcs: [
"protos/perfetto/metrics/android/android_blocking_call.proto",
"protos/perfetto/metrics/android/android_blocking_calls_cuj_metric.proto",
+ "protos/perfetto/metrics/android/android_boot.proto",
"protos/perfetto/metrics/android/android_frame_timeline_metric.proto",
"protos/perfetto/metrics/android/android_sysui_notifications_blocking_calls_metric.proto",
"protos/perfetto/metrics/android/android_trusty_workqueues.proto",
@@ -4669,6 +4670,7 @@
srcs: [
"protos/perfetto/metrics/android/android_blocking_call.proto",
"protos/perfetto/metrics/android/android_blocking_calls_cuj_metric.proto",
+ "protos/perfetto/metrics/android/android_boot.proto",
"protos/perfetto/metrics/android/android_frame_timeline_metric.proto",
"protos/perfetto/metrics/android/android_sysui_notifications_blocking_calls_metric.proto",
"protos/perfetto/metrics/android/android_trusty_workqueues.proto",
@@ -4732,6 +4734,7 @@
srcs: [
"protos/perfetto/metrics/android/android_blocking_call.proto",
"protos/perfetto/metrics/android/android_blocking_calls_cuj_metric.proto",
+ "protos/perfetto/metrics/android/android_boot.proto",
"protos/perfetto/metrics/android/android_frame_timeline_metric.proto",
"protos/perfetto/metrics/android/android_sysui_notifications_blocking_calls_metric.proto",
"protos/perfetto/metrics/android/android_trusty_workqueues.proto",
@@ -10431,6 +10434,7 @@
"src/trace_processor/metrics/sql/android/android_batt.sql",
"src/trace_processor/metrics/sql/android/android_binder.sql",
"src/trace_processor/metrics/sql/android/android_blocking_calls_cuj_metric.sql",
+ "src/trace_processor/metrics/sql/android/android_boot.sql",
"src/trace_processor/metrics/sql/android/android_camera.sql",
"src/trace_processor/metrics/sql/android/android_camera_unagg.sql",
"src/trace_processor/metrics/sql/android/android_cpu.sql",