Reduce entropy in tools/trace_to_text
- Use protozero instead of libprotobuf for symbolization
and deobfuscation.
- Remove unnecessary exposure of TracePacket class and just
pass strings instead.
- Bring sanity to dependencies in BUILD.gn, everything ended
up in public_deps for no obvious reason.
Bug: 132880619
Change-Id: I69be23a4ee7790eb61eebf14f0b412e5487a5d32
diff --git a/Android.bp b/Android.bp
index 6cf539f..ef50e19 100644
--- a/Android.bp
+++ b/Android.bp
@@ -4067,33 +4067,35 @@
],
}
-// GN: //protos/third_party/pprof:lite
+// GN: //protos/third_party/pprof:zero
genrule {
- name: "perfetto_protos_third_party_pprof_lite_gen",
+ name: "perfetto_protos_third_party_pprof_zero_gen",
srcs: [
"protos/third_party/pprof/profile.proto",
],
tools: [
"aprotoc",
+ "protozero_plugin",
],
- cmd: "mkdir -p $(genDir)/external/perfetto/ && $(location aprotoc) --proto_path=external/perfetto --cpp_out=$(genDir)/external/perfetto/ $(in)",
+ cmd: "mkdir -p $(genDir)/external/perfetto/ && $(location aprotoc) --proto_path=external/perfetto --plugin=protoc-gen-plugin=$(location protozero_plugin) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/ $(in)",
out: [
- "external/perfetto/protos/third_party/pprof/profile.pb.cc",
+ "external/perfetto/protos/third_party/pprof/profile.pbzero.cc",
],
}
-// GN: //protos/third_party/pprof:lite
+// GN: //protos/third_party/pprof:zero
genrule {
- name: "perfetto_protos_third_party_pprof_lite_gen_headers",
+ name: "perfetto_protos_third_party_pprof_zero_gen_headers",
srcs: [
"protos/third_party/pprof/profile.proto",
],
tools: [
"aprotoc",
+ "protozero_plugin",
],
- cmd: "mkdir -p $(genDir)/external/perfetto/ && $(location aprotoc) --proto_path=external/perfetto --cpp_out=$(genDir)/external/perfetto/ $(in)",
+ cmd: "mkdir -p $(genDir)/external/perfetto/ && $(location aprotoc) --proto_path=external/perfetto --plugin=protoc-gen-plugin=$(location protozero_plugin) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/ $(in)",
out: [
- "external/perfetto/protos/third_party/pprof/profile.pb.h",
+ "external/perfetto/protos/third_party/pprof/profile.pbzero.h",
],
export_include_dirs: [
".",
@@ -5921,58 +5923,34 @@
":perfetto_include_perfetto_trace_processor_basic_types",
":perfetto_include_perfetto_trace_processor_storage",
":perfetto_include_perfetto_trace_processor_trace_processor",
- ":perfetto_protos_perfetto_common_lite_gen",
":perfetto_protos_perfetto_common_zero_gen",
- ":perfetto_protos_perfetto_config_android_lite_gen",
":perfetto_protos_perfetto_config_android_zero_gen",
- ":perfetto_protos_perfetto_config_ftrace_lite_gen",
":perfetto_protos_perfetto_config_ftrace_zero_gen",
- ":perfetto_protos_perfetto_config_gpu_lite_gen",
":perfetto_protos_perfetto_config_gpu_zero_gen",
- ":perfetto_protos_perfetto_config_inode_file_lite_gen",
":perfetto_protos_perfetto_config_inode_file_zero_gen",
- ":perfetto_protos_perfetto_config_lite_gen",
- ":perfetto_protos_perfetto_config_power_lite_gen",
":perfetto_protos_perfetto_config_power_zero_gen",
- ":perfetto_protos_perfetto_config_process_stats_lite_gen",
":perfetto_protos_perfetto_config_process_stats_zero_gen",
- ":perfetto_protos_perfetto_config_profiling_lite_gen",
":perfetto_protos_perfetto_config_profiling_zero_gen",
- ":perfetto_protos_perfetto_config_sys_stats_lite_gen",
":perfetto_protos_perfetto_config_sys_stats_zero_gen",
":perfetto_protos_perfetto_config_zero_gen",
":perfetto_protos_perfetto_metrics_android_zero_gen",
":perfetto_protos_perfetto_metrics_zero_gen",
- ":perfetto_protos_perfetto_trace_android_lite_gen",
":perfetto_protos_perfetto_trace_android_zero_gen",
- ":perfetto_protos_perfetto_trace_chrome_lite_gen",
":perfetto_protos_perfetto_trace_chrome_zero_gen",
- ":perfetto_protos_perfetto_trace_filesystem_lite_gen",
":perfetto_protos_perfetto_trace_filesystem_zero_gen",
- ":perfetto_protos_perfetto_trace_ftrace_lite_gen",
":perfetto_protos_perfetto_trace_ftrace_zero_gen",
- ":perfetto_protos_perfetto_trace_gpu_lite_gen",
":perfetto_protos_perfetto_trace_gpu_zero_gen",
- ":perfetto_protos_perfetto_trace_interned_data_lite_gen",
":perfetto_protos_perfetto_trace_interned_data_zero_gen",
- ":perfetto_protos_perfetto_trace_minimal_lite_gen",
":perfetto_protos_perfetto_trace_minimal_zero_gen",
- ":perfetto_protos_perfetto_trace_non_minimal_lite_gen",
":perfetto_protos_perfetto_trace_non_minimal_zero_gen",
- ":perfetto_protos_perfetto_trace_perfetto_lite_gen",
":perfetto_protos_perfetto_trace_perfetto_zero_gen",
- ":perfetto_protos_perfetto_trace_power_lite_gen",
":perfetto_protos_perfetto_trace_power_zero_gen",
":perfetto_protos_perfetto_trace_processor_metrics_impl_zero_gen",
- ":perfetto_protos_perfetto_trace_profiling_lite_gen",
":perfetto_protos_perfetto_trace_profiling_zero_gen",
- ":perfetto_protos_perfetto_trace_ps_lite_gen",
":perfetto_protos_perfetto_trace_ps_zero_gen",
- ":perfetto_protos_perfetto_trace_sys_stats_lite_gen",
":perfetto_protos_perfetto_trace_sys_stats_zero_gen",
- ":perfetto_protos_perfetto_trace_track_event_lite_gen",
":perfetto_protos_perfetto_trace_track_event_zero_gen",
- ":perfetto_protos_third_party_pprof_lite_gen",
+ ":perfetto_protos_third_party_pprof_zero_gen",
":perfetto_src_base_base",
":perfetto_src_profiling_deobfuscator",
":perfetto_src_protozero_protozero",
@@ -5992,7 +5970,6 @@
],
shared_libs: [
"libprotobuf-cpp-full",
- "libprotobuf-cpp-lite",
],
static_libs: [
"libsqlite",
@@ -6000,58 +5977,34 @@
],
generated_headers: [
"gen_merged_sql_metrics",
- "perfetto_protos_perfetto_common_lite_gen_headers",
"perfetto_protos_perfetto_common_zero_gen_headers",
- "perfetto_protos_perfetto_config_android_lite_gen_headers",
"perfetto_protos_perfetto_config_android_zero_gen_headers",
- "perfetto_protos_perfetto_config_ftrace_lite_gen_headers",
"perfetto_protos_perfetto_config_ftrace_zero_gen_headers",
- "perfetto_protos_perfetto_config_gpu_lite_gen_headers",
"perfetto_protos_perfetto_config_gpu_zero_gen_headers",
- "perfetto_protos_perfetto_config_inode_file_lite_gen_headers",
"perfetto_protos_perfetto_config_inode_file_zero_gen_headers",
- "perfetto_protos_perfetto_config_lite_gen_headers",
- "perfetto_protos_perfetto_config_power_lite_gen_headers",
"perfetto_protos_perfetto_config_power_zero_gen_headers",
- "perfetto_protos_perfetto_config_process_stats_lite_gen_headers",
"perfetto_protos_perfetto_config_process_stats_zero_gen_headers",
- "perfetto_protos_perfetto_config_profiling_lite_gen_headers",
"perfetto_protos_perfetto_config_profiling_zero_gen_headers",
- "perfetto_protos_perfetto_config_sys_stats_lite_gen_headers",
"perfetto_protos_perfetto_config_sys_stats_zero_gen_headers",
"perfetto_protos_perfetto_config_zero_gen_headers",
"perfetto_protos_perfetto_metrics_android_zero_gen_headers",
"perfetto_protos_perfetto_metrics_zero_gen_headers",
- "perfetto_protos_perfetto_trace_android_lite_gen_headers",
"perfetto_protos_perfetto_trace_android_zero_gen_headers",
- "perfetto_protos_perfetto_trace_chrome_lite_gen_headers",
"perfetto_protos_perfetto_trace_chrome_zero_gen_headers",
- "perfetto_protos_perfetto_trace_filesystem_lite_gen_headers",
"perfetto_protos_perfetto_trace_filesystem_zero_gen_headers",
- "perfetto_protos_perfetto_trace_ftrace_lite_gen_headers",
"perfetto_protos_perfetto_trace_ftrace_zero_gen_headers",
- "perfetto_protos_perfetto_trace_gpu_lite_gen_headers",
"perfetto_protos_perfetto_trace_gpu_zero_gen_headers",
- "perfetto_protos_perfetto_trace_interned_data_lite_gen_headers",
"perfetto_protos_perfetto_trace_interned_data_zero_gen_headers",
- "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
"perfetto_protos_perfetto_trace_minimal_zero_gen_headers",
- "perfetto_protos_perfetto_trace_non_minimal_lite_gen_headers",
"perfetto_protos_perfetto_trace_non_minimal_zero_gen_headers",
- "perfetto_protos_perfetto_trace_perfetto_lite_gen_headers",
"perfetto_protos_perfetto_trace_perfetto_zero_gen_headers",
- "perfetto_protos_perfetto_trace_power_lite_gen_headers",
"perfetto_protos_perfetto_trace_power_zero_gen_headers",
"perfetto_protos_perfetto_trace_processor_metrics_impl_zero_gen_headers",
- "perfetto_protos_perfetto_trace_profiling_lite_gen_headers",
"perfetto_protos_perfetto_trace_profiling_zero_gen_headers",
- "perfetto_protos_perfetto_trace_ps_lite_gen_headers",
"perfetto_protos_perfetto_trace_ps_zero_gen_headers",
- "perfetto_protos_perfetto_trace_sys_stats_lite_gen_headers",
"perfetto_protos_perfetto_trace_sys_stats_zero_gen_headers",
- "perfetto_protos_perfetto_trace_track_event_lite_gen_headers",
"perfetto_protos_perfetto_trace_track_event_zero_gen_headers",
- "perfetto_protos_third_party_pprof_lite_gen_headers",
+ "perfetto_protos_third_party_pprof_zero_gen_headers",
],
defaults: [
"perfetto_defaults",