trace_processor: enable RPC in Android build
The trace_processor_shell supports acting as an RPC server so that other
tools, such as the Perfetto Python module, can issue queries over a
trace. However, if building from the Android tree, this feature was
disabled.
Test: tested locally; builds for and runs on both host and device.
Change-Id: Id5b5134154f7ce708605cb8778e93a181bb86c4b
diff --git a/Android.bp b/Android.bp
index 6c2a184..99f8345 100644
--- a/Android.bp
+++ b/Android.bp
@@ -8071,6 +8071,14 @@
],
}
+// GN: //src/trace_processor/rpc:httpd
+filegroup {
+ name: "perfetto_src_trace_processor_rpc_httpd",
+ srcs: [
+ "src/trace_processor/rpc/httpd.cc",
+ ],
+}
+
// GN: //src/trace_processor/rpc:rpc
filegroup {
name: "perfetto_src_trace_processor_rpc_rpc",
@@ -9586,9 +9594,11 @@
":perfetto_protos_perfetto_trace_system_info_zero_gen",
":perfetto_protos_perfetto_trace_track_event_zero_gen",
":perfetto_src_base_base",
+ ":perfetto_src_base_unix_socket",
":perfetto_src_profiling_deobfuscator",
":perfetto_src_profiling_symbolizer_symbolize_database",
":perfetto_src_profiling_symbolizer_symbolizer",
+ ":perfetto_src_protozero_proto_ring_buffer",
":perfetto_src_protozero_protozero",
":perfetto_src_trace_processor_analysis_analysis",
":perfetto_src_trace_processor_containers_containers",
@@ -9600,6 +9610,8 @@
":perfetto_src_trace_processor_lib",
":perfetto_src_trace_processor_metatrace",
":perfetto_src_trace_processor_metrics_lib",
+ ":perfetto_src_trace_processor_rpc_httpd",
+ ":perfetto_src_trace_processor_rpc_rpc",
":perfetto_src_trace_processor_sqlite_sqlite",
":perfetto_src_trace_processor_storage_full",
":perfetto_src_trace_processor_storage_minimal",
diff --git a/gn/perfetto.gni b/gn/perfetto.gni
index d7263e7..ebed8f3 100644
--- a/gn/perfetto.gni
+++ b/gn/perfetto.gni
@@ -262,7 +262,8 @@
# Enables httpd RPC support in the trace processor.
# Further per-OS conditionals are applied in gn/BUILD.gn.
enable_perfetto_trace_processor_httpd =
- enable_perfetto_trace_processor && perfetto_build_standalone
+ enable_perfetto_trace_processor &&
+ (perfetto_build_standalone || perfetto_build_with_android)
# Enables Zlib support. This is used both by the "perfetto" cmdline client
# (for compressing traces) and by trace processor (for compressed traces).
diff --git a/include/perfetto/base/build_configs/android_tree/perfetto_build_flags.h b/include/perfetto/base/build_configs/android_tree/perfetto_build_flags.h
index 649d9ed..a114665 100644
--- a/include/perfetto/base/build_configs/android_tree/perfetto_build_flags.h
+++ b/include/perfetto/base/build_configs/android_tree/perfetto_build_flags.h
@@ -34,7 +34,7 @@
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_VERSION_GEN() (1)
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_TP_PERCENTILE() (0)
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_TP_LINENOISE() (0)
-#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_TP_HTTPD() (0)
+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_TP_HTTPD() (1)
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_TP_JSON() (0)
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_LOCAL_SYMBOLIZER() (PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() || PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() ||PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN())
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_ZLIB() (1)