Initial trace-based startup metric in AOSP
- Partitions the trace into spans based on the initial intent
- Correlates these spans with an actual launching event
- Breaks down main thread by task state
Bug: b/132775271
Change-Id: I14765c5591f787f269d47b5fe217e458de2eb28e
diff --git a/Android.bp b/Android.bp
index 05add93..0e4b6eb 100644
--- a/Android.bp
+++ b/Android.bp
@@ -20,6 +20,9 @@
"src/trace_processor/metrics/android/android_mem.sql",
"src/trace_processor/metrics/android/android_mem_lmk.sql",
"src/trace_processor/metrics/android/android_mem_proc_counters.sql",
+ "src/trace_processor/metrics/android/android_startup.sql",
+ "src/trace_processor/metrics/android/android_startup_launches.sql",
+ "src/trace_processor/metrics/android/android_task_state.sql",
],
cmd: "$(location tools/gen_merged_sql_metrics.py) --cpp_out=$(out) $(in)",
out: [
@@ -1063,6 +1066,7 @@
name: "perfetto_protos_perfetto_metrics_android_zero_gen",
srcs: [
"protos/perfetto/metrics/android/mem_metric.proto",
+ "protos/perfetto/metrics/android/startup_metric.proto",
],
tools: [
"aprotoc",
@@ -1071,6 +1075,7 @@
cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
out: [
"external/perfetto/protos/perfetto/metrics/android/mem_metric.pbzero.cc",
+ "external/perfetto/protos/perfetto/metrics/android/startup_metric.pbzero.cc",
],
}
@@ -1079,6 +1084,7 @@
name: "perfetto_protos_perfetto_metrics_android_zero_gen_headers",
srcs: [
"protos/perfetto/metrics/android/mem_metric.proto",
+ "protos/perfetto/metrics/android/startup_metric.proto",
],
tools: [
"aprotoc",
@@ -1087,6 +1093,7 @@
cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
out: [
"external/perfetto/protos/perfetto/metrics/android/mem_metric.pbzero.h",
+ "external/perfetto/protos/perfetto/metrics/android/startup_metric.pbzero.h",
],
export_include_dirs: [
"protos",