ctp: introduce TraceProcessorWrapper class
This class is responsible for wrapping a TraceProcessor instance and
providing an API which makes it easy for CTP workers to call.
Change-Id: I2cba0685c1f5a48a5f1efbfdaad372b8513ecaa6
Bug: 278208757
diff --git a/Android.bp b/Android.bp
index a327364..0bbc7df 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1733,6 +1733,11 @@
name: "perfetto_include_perfetto_ext_base_version",
}
+// GN: //include/perfetto/ext/cloud_trace_processor:cloud_trace_processor
+filegroup {
+ name: "perfetto_include_perfetto_ext_cloud_trace_processor_cloud_trace_processor",
+}
+
// GN: //include/perfetto/ext/ipc:ipc
filegroup {
name: "perfetto_include_perfetto_ext_ipc_ipc",
@@ -2268,6 +2273,48 @@
test_config: "PerfettoIntegrationTests.xml",
}
+// GN: //protos/perfetto/cloud_trace_processor:lite
+genrule {
+ name: "perfetto_protos_perfetto_cloud_trace_processor_lite_gen",
+ srcs: [
+ "protos/perfetto/cloud_trace_processor/common.proto",
+ "protos/perfetto/cloud_trace_processor/orchestrator.proto",
+ "protos/perfetto/cloud_trace_processor/worker.proto",
+ ],
+ tools: [
+ "aprotoc",
+ ],
+ cmd: "mkdir -p $(genDir)/external/perfetto/ && $(location aprotoc) --proto_path=external/perfetto --cpp_out=lite=true:$(genDir)/external/perfetto/ $(in)",
+ out: [
+ "external/perfetto/protos/perfetto/cloud_trace_processor/common.pb.cc",
+ "external/perfetto/protos/perfetto/cloud_trace_processor/orchestrator.pb.cc",
+ "external/perfetto/protos/perfetto/cloud_trace_processor/worker.pb.cc",
+ ],
+}
+
+// GN: //protos/perfetto/cloud_trace_processor:lite
+genrule {
+ name: "perfetto_protos_perfetto_cloud_trace_processor_lite_gen_headers",
+ srcs: [
+ "protos/perfetto/cloud_trace_processor/common.proto",
+ "protos/perfetto/cloud_trace_processor/orchestrator.proto",
+ "protos/perfetto/cloud_trace_processor/worker.proto",
+ ],
+ tools: [
+ "aprotoc",
+ ],
+ cmd: "mkdir -p $(genDir)/external/perfetto/ && $(location aprotoc) --proto_path=external/perfetto --cpp_out=lite=true:$(genDir)/external/perfetto/ $(in)",
+ out: [
+ "external/perfetto/protos/perfetto/cloud_trace_processor/common.pb.h",
+ "external/perfetto/protos/perfetto/cloud_trace_processor/orchestrator.pb.h",
+ "external/perfetto/protos/perfetto/cloud_trace_processor/worker.pb.h",
+ ],
+ export_include_dirs: [
+ ".",
+ "protos",
+ ],
+}
+
// GN: //protos/perfetto/common:cpp
genrule {
name: "perfetto_protos_perfetto_common_cpp_gen",
@@ -6848,6 +6895,48 @@
],
}
+// GN: //protos/perfetto/trace_processor:lite
+genrule {
+ name: "perfetto_protos_perfetto_trace_processor_lite_gen",
+ srcs: [
+ "protos/perfetto/trace_processor/metatrace_categories.proto",
+ "protos/perfetto/trace_processor/stack.proto",
+ "protos/perfetto/trace_processor/trace_processor.proto",
+ ],
+ tools: [
+ "aprotoc",
+ ],
+ cmd: "mkdir -p $(genDir)/external/perfetto/ && $(location aprotoc) --proto_path=external/perfetto --cpp_out=lite=true:$(genDir)/external/perfetto/ $(in)",
+ out: [
+ "external/perfetto/protos/perfetto/trace_processor/metatrace_categories.pb.cc",
+ "external/perfetto/protos/perfetto/trace_processor/stack.pb.cc",
+ "external/perfetto/protos/perfetto/trace_processor/trace_processor.pb.cc",
+ ],
+}
+
+// GN: //protos/perfetto/trace_processor:lite
+genrule {
+ name: "perfetto_protos_perfetto_trace_processor_lite_gen_headers",
+ srcs: [
+ "protos/perfetto/trace_processor/metatrace_categories.proto",
+ "protos/perfetto/trace_processor/stack.proto",
+ "protos/perfetto/trace_processor/trace_processor.proto",
+ ],
+ tools: [
+ "aprotoc",
+ ],
+ cmd: "mkdir -p $(genDir)/external/perfetto/ && $(location aprotoc) --proto_path=external/perfetto --cpp_out=lite=true:$(genDir)/external/perfetto/ $(in)",
+ out: [
+ "external/perfetto/protos/perfetto/trace_processor/metatrace_categories.pb.h",
+ "external/perfetto/protos/perfetto/trace_processor/stack.pb.h",
+ "external/perfetto/protos/perfetto/trace_processor/trace_processor.pb.h",
+ ],
+ export_include_dirs: [
+ ".",
+ "protos",
+ ],
+}
+
// GN: //protos/perfetto/trace_processor:metrics_impl_zero
genrule {
name: "perfetto_protos_perfetto_trace_processor_metrics_impl_zero_gen",
@@ -8370,6 +8459,22 @@
],
}
+// GN: //src/cloud_trace_processor:sources
+filegroup {
+ name: "perfetto_src_cloud_trace_processor_sources",
+ srcs: [
+ "src/cloud_trace_processor/trace_processor_wrapper.cc",
+ ],
+}
+
+// GN: //src/cloud_trace_processor:unittests
+filegroup {
+ name: "perfetto_src_cloud_trace_processor_unittests",
+ srcs: [
+ "src/cloud_trace_processor/trace_processor_wrapper_unittest.cc",
+ ],
+}
+
// GN: //src/ipc:client
filegroup {
name: "perfetto_src_ipc_client",
@@ -10630,6 +10735,14 @@
],
}
+// GN: //src/traceconv:unittests
+filegroup {
+ name: "perfetto_src_traceconv_unittests",
+ srcs: [
+ "src/traceconv/trace_to_text_unittest.cc",
+ ],
+}
+
// GN: //src/traceconv:utils
filegroup {
name: "perfetto_src_traceconv_utils",
@@ -11679,6 +11792,7 @@
":perfetto_include_perfetto_ext_base_http_http",
":perfetto_include_perfetto_ext_base_threading_threading",
":perfetto_include_perfetto_ext_base_version",
+ ":perfetto_include_perfetto_ext_cloud_trace_processor_cloud_trace_processor",
":perfetto_include_perfetto_ext_ipc_ipc",
":perfetto_include_perfetto_ext_trace_processor_demangle",
":perfetto_include_perfetto_ext_trace_processor_export_json",
@@ -11687,6 +11801,7 @@
":perfetto_include_perfetto_ext_traced_traced",
":perfetto_include_perfetto_ext_tracing_core_core",
":perfetto_include_perfetto_ext_tracing_ipc_ipc",
+ ":perfetto_include_perfetto_profiling_pprof_builder",
":perfetto_include_perfetto_protozero_protozero",
":perfetto_include_perfetto_public_abi_base",
":perfetto_include_perfetto_public_base",
@@ -11698,6 +11813,7 @@
":perfetto_include_perfetto_tracing_core_core",
":perfetto_include_perfetto_tracing_core_forward_decls",
":perfetto_include_perfetto_tracing_tracing",
+ ":perfetto_protos_perfetto_cloud_trace_processor_lite_gen",
":perfetto_protos_perfetto_common_cpp_gen",
":perfetto_protos_perfetto_common_lite_gen",
":perfetto_protos_perfetto_common_zero_gen",
@@ -11773,6 +11889,7 @@
":perfetto_protos_perfetto_trace_power_cpp_gen",
":perfetto_protos_perfetto_trace_power_lite_gen",
":perfetto_protos_perfetto_trace_power_zero_gen",
+ ":perfetto_protos_perfetto_trace_processor_lite_gen",
":perfetto_protos_perfetto_trace_processor_metrics_impl_zero_gen",
":perfetto_protos_perfetto_trace_processor_zero_gen",
":perfetto_protos_perfetto_trace_profiling_cpp_gen",
@@ -11811,6 +11928,8 @@
":perfetto_src_base_unittests",
":perfetto_src_base_unix_socket",
":perfetto_src_base_version",
+ ":perfetto_src_cloud_trace_processor_sources",
+ ":perfetto_src_cloud_trace_processor_unittests",
":perfetto_src_ipc_client",
":perfetto_src_ipc_common",
":perfetto_src_ipc_host",
@@ -11848,6 +11967,7 @@
":perfetto_src_profiling_perf_producer_unittests",
":perfetto_src_profiling_perf_regs_parsing",
":perfetto_src_profiling_perf_unwinding",
+ ":perfetto_src_profiling_symbolizer_symbolize_database",
":perfetto_src_profiling_symbolizer_symbolizer",
":perfetto_src_profiling_symbolizer_unittests",
":perfetto_src_profiling_unittests",
@@ -11942,6 +12062,10 @@
":perfetto_src_trace_processor_util_zip_reader",
":perfetto_src_trace_processor_views_unittests",
":perfetto_src_trace_processor_views_views",
+ ":perfetto_src_traceconv_lib",
+ ":perfetto_src_traceconv_pprofbuilder",
+ ":perfetto_src_traceconv_unittests",
+ ":perfetto_src_traceconv_utils",
":perfetto_src_traced_probes_android_game_intervention_list_android_game_intervention_list",
":perfetto_src_traced_probes_android_game_intervention_list_unittests",
":perfetto_src_traced_probes_android_log_android_log",
@@ -12022,6 +12146,7 @@
"perfetto_gtest_logcat_printer",
],
generated_headers: [
+ "perfetto_protos_perfetto_cloud_trace_processor_lite_gen_headers",
"perfetto_protos_perfetto_common_cpp_gen_headers",
"perfetto_protos_perfetto_common_lite_gen_headers",
"perfetto_protos_perfetto_common_zero_gen_headers",
@@ -12097,6 +12222,7 @@
"perfetto_protos_perfetto_trace_power_cpp_gen_headers",
"perfetto_protos_perfetto_trace_power_lite_gen_headers",
"perfetto_protos_perfetto_trace_power_zero_gen_headers",
+ "perfetto_protos_perfetto_trace_processor_lite_gen_headers",
"perfetto_protos_perfetto_trace_processor_metrics_impl_zero_gen_headers",
"perfetto_protos_perfetto_trace_processor_zero_gen_headers",
"perfetto_protos_perfetto_trace_profiling_cpp_gen_headers",
@@ -12147,6 +12273,7 @@
"perfetto_src_trace_processor_tables_py_tables_unittest",
"perfetto_src_trace_processor_tables_tables_python",
"perfetto_src_trace_processor_views_macros_unittest",
+ "perfetto_src_traceconv_gen_cc_trace_descriptor",
"perfetto_src_traced_probes_ftrace_test_messages_cpp_gen_headers",
"perfetto_src_traced_probes_ftrace_test_messages_lite_gen_headers",
"perfetto_src_traced_probes_ftrace_test_messages_zero_gen_headers",