tp: move QueryResultSerializer header to include/ext
This CL moves the header for the QueryResultSerializer class from src to
include/ext. This is necessary to depend on this class in BigTrace in
G3.
Change-Id: I5f37fc46498d4f7555de042f0280103552f5e576
diff --git a/Android.bp b/Android.bp
index 08bc177..081ab9b 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1956,6 +1956,11 @@
name: "perfetto_include_perfetto_ext_trace_processor_importers_memory_tracker_memory_tracker",
}
+// GN: //include/perfetto/ext/trace_processor/rpc:query_result_serializer
+filegroup {
+ name: "perfetto_include_perfetto_ext_trace_processor_rpc_query_result_serializer",
+}
+
// GN: //include/perfetto/ext/traced:sys_stats_counters
filegroup {
name: "perfetto_include_perfetto_ext_traced_sys_stats_counters",
@@ -12351,6 +12356,7 @@
":perfetto_include_perfetto_ext_trace_processor_demangle",
":perfetto_include_perfetto_ext_trace_processor_export_json",
":perfetto_include_perfetto_ext_trace_processor_importers_memory_tracker_memory_tracker",
+ ":perfetto_include_perfetto_ext_trace_processor_rpc_query_result_serializer",
":perfetto_include_perfetto_ext_traced_sys_stats_counters",
":perfetto_include_perfetto_ext_traced_traced",
":perfetto_include_perfetto_ext_tracing_core_core",
@@ -13201,6 +13207,7 @@
":perfetto_include_perfetto_ext_trace_processor_demangle",
":perfetto_include_perfetto_ext_trace_processor_export_json",
":perfetto_include_perfetto_ext_trace_processor_importers_memory_tracker_memory_tracker",
+ ":perfetto_include_perfetto_ext_trace_processor_rpc_query_result_serializer",
":perfetto_include_perfetto_ext_traced_sys_stats_counters",
":perfetto_include_perfetto_protozero_protozero",
":perfetto_include_perfetto_public_abi_base",
diff --git a/BUILD b/BUILD
index 82a07db..ee2d513 100644
--- a/BUILD
+++ b/BUILD
@@ -147,6 +147,7 @@
":include_perfetto_ext_trace_processor_demangle",
":include_perfetto_ext_trace_processor_export_json",
":include_perfetto_ext_trace_processor_importers_memory_tracker_memory_tracker",
+ ":include_perfetto_ext_trace_processor_rpc_query_result_serializer",
":include_perfetto_ext_traced_sys_stats_counters",
":include_perfetto_protozero_protozero",
":include_perfetto_public_abi_base",
@@ -363,6 +364,153 @@
] + PERFETTO_CONFIG.deps.protobuf_full,
)
+# GN target: //src/trace_processor/rpc:trace_processor_rpc
+perfetto_cc_library(
+ name = "trace_processor_rpc",
+ srcs = [
+ ":src_kernel_utils_syscall_table",
+ ":src_protozero_proto_ring_buffer",
+ ":src_trace_processor_db_db",
+ ":src_trace_processor_db_overlays_overlays",
+ ":src_trace_processor_db_storage_storage",
+ ":src_trace_processor_export_json",
+ ":src_trace_processor_importers_android_bugreport_android_bugreport",
+ ":src_trace_processor_importers_common_common",
+ ":src_trace_processor_importers_common_parser_types",
+ ":src_trace_processor_importers_common_trace_parser_hdr",
+ ":src_trace_processor_importers_ftrace_ftrace_descriptors",
+ ":src_trace_processor_importers_ftrace_full",
+ ":src_trace_processor_importers_ftrace_minimal",
+ ":src_trace_processor_importers_fuchsia_fuchsia_record",
+ ":src_trace_processor_importers_fuchsia_full",
+ ":src_trace_processor_importers_fuchsia_minimal",
+ ":src_trace_processor_importers_gzip_full",
+ ":src_trace_processor_importers_i2c_full",
+ ":src_trace_processor_importers_json_full",
+ ":src_trace_processor_importers_json_minimal",
+ ":src_trace_processor_importers_memory_tracker_graph_processor",
+ ":src_trace_processor_importers_ninja_ninja",
+ ":src_trace_processor_importers_proto_full",
+ ":src_trace_processor_importers_proto_minimal",
+ ":src_trace_processor_importers_proto_packet_sequence_state_generation_hdr",
+ ":src_trace_processor_importers_proto_proto_importer_module",
+ ":src_trace_processor_importers_proto_winscope_full",
+ ":src_trace_processor_importers_syscalls_full",
+ ":src_trace_processor_importers_systrace_full",
+ ":src_trace_processor_importers_systrace_systrace_line",
+ ":src_trace_processor_importers_systrace_systrace_parser",
+ ":src_trace_processor_lib",
+ ":src_trace_processor_metatrace",
+ ":src_trace_processor_metrics_metrics",
+ ":src_trace_processor_perfetto_sql_engine_engine",
+ ":src_trace_processor_perfetto_sql_intrinsics_functions_functions",
+ ":src_trace_processor_perfetto_sql_intrinsics_functions_interface",
+ ":src_trace_processor_perfetto_sql_intrinsics_operators_operators",
+ ":src_trace_processor_perfetto_sql_intrinsics_table_functions_interface",
+ ":src_trace_processor_perfetto_sql_intrinsics_table_functions_table_functions",
+ ":src_trace_processor_perfetto_sql_intrinsics_table_functions_tables",
+ ":src_trace_processor_rpc_rpc",
+ ":src_trace_processor_sorter_sorter",
+ ":src_trace_processor_sqlite_query_constraints",
+ ":src_trace_processor_sqlite_sqlite",
+ ":src_trace_processor_storage_minimal",
+ ":src_trace_processor_storage_storage",
+ ":src_trace_processor_tables_tables",
+ ":src_trace_processor_tables_tables_python",
+ ":src_trace_processor_types_types",
+ ":src_trace_processor_util_bump_allocator",
+ ":src_trace_processor_util_descriptors",
+ ":src_trace_processor_util_glob",
+ ":src_trace_processor_util_gzip",
+ ":src_trace_processor_util_interned_message_view",
+ ":src_trace_processor_util_profile_builder",
+ ":src_trace_processor_util_proto_profiler",
+ ":src_trace_processor_util_proto_to_args_parser",
+ ":src_trace_processor_util_protozero_to_json",
+ ":src_trace_processor_util_protozero_to_text",
+ ":src_trace_processor_util_regex",
+ ":src_trace_processor_util_sql_argument",
+ ":src_trace_processor_util_stack_traces_util",
+ ":src_trace_processor_util_stdlib",
+ ":src_trace_processor_util_util",
+ ":src_trace_processor_util_zip_reader",
+ ":src_trace_processor_views_views",
+ ],
+ hdrs = [
+ ":include_perfetto_base_base",
+ ":include_perfetto_ext_base_base",
+ ":include_perfetto_ext_trace_processor_demangle",
+ ":include_perfetto_ext_trace_processor_export_json",
+ ":include_perfetto_ext_trace_processor_importers_memory_tracker_memory_tracker",
+ ":include_perfetto_ext_trace_processor_rpc_query_result_serializer",
+ ":include_perfetto_ext_traced_sys_stats_counters",
+ ":include_perfetto_protozero_protozero",
+ ":include_perfetto_public_abi_base",
+ ":include_perfetto_public_base",
+ ":include_perfetto_public_protozero",
+ ":include_perfetto_trace_processor_basic_types",
+ ":include_perfetto_trace_processor_storage",
+ ":include_perfetto_trace_processor_trace_processor",
+ ],
+ deps = [
+ ":protos_perfetto_common_zero",
+ ":protos_perfetto_config_android_zero",
+ ":protos_perfetto_config_ftrace_zero",
+ ":protos_perfetto_config_gpu_zero",
+ ":protos_perfetto_config_inode_file_zero",
+ ":protos_perfetto_config_interceptors_zero",
+ ":protos_perfetto_config_power_zero",
+ ":protos_perfetto_config_process_stats_zero",
+ ":protos_perfetto_config_profiling_zero",
+ ":protos_perfetto_config_statsd_zero",
+ ":protos_perfetto_config_sys_stats_zero",
+ ":protos_perfetto_config_system_info_zero",
+ ":protos_perfetto_config_track_event_zero",
+ ":protos_perfetto_config_zero",
+ ":protos_perfetto_trace_android_zero",
+ ":protos_perfetto_trace_chrome_zero",
+ ":protos_perfetto_trace_filesystem_zero",
+ ":protos_perfetto_trace_ftrace_zero",
+ ":protos_perfetto_trace_gpu_zero",
+ ":protos_perfetto_trace_interned_data_zero",
+ ":protos_perfetto_trace_minimal_zero",
+ ":protos_perfetto_trace_non_minimal_zero",
+ ":protos_perfetto_trace_perfetto_zero",
+ ":protos_perfetto_trace_power_zero",
+ ":protos_perfetto_trace_processor_metrics_impl_zero",
+ ":protos_perfetto_trace_processor_zero",
+ ":protos_perfetto_trace_profiling_zero",
+ ":protos_perfetto_trace_ps_zero",
+ ":protos_perfetto_trace_statsd_zero",
+ ":protos_perfetto_trace_sys_stats_zero",
+ ":protos_perfetto_trace_system_info_zero",
+ ":protos_perfetto_trace_track_event_zero",
+ ":protos_perfetto_trace_translation_zero",
+ ":protos_third_party_pprof_zero",
+ ":protozero",
+ ":src_base_base",
+ ":src_base_version",
+ ":src_trace_processor_containers_containers",
+ ":src_trace_processor_importers_proto_gen_cc_chrome_track_event_descriptor",
+ ":src_trace_processor_importers_proto_gen_cc_config_descriptor",
+ ":src_trace_processor_importers_proto_gen_cc_statsd_atoms_descriptor",
+ ":src_trace_processor_importers_proto_gen_cc_trace_descriptor",
+ ":src_trace_processor_importers_proto_gen_cc_track_event_descriptor",
+ ":src_trace_processor_importers_proto_winscope_gen_cc_winscope_descriptor",
+ ":src_trace_processor_metrics_gen_cc_all_chrome_metrics_descriptor",
+ ":src_trace_processor_metrics_gen_cc_all_webview_metrics_descriptor",
+ ":src_trace_processor_metrics_gen_cc_metrics_descriptor",
+ ":src_trace_processor_metrics_sql_gen_amalgamated_sql_metrics",
+ ":src_trace_processor_perfetto_sql_prelude_prelude",
+ ":src_trace_processor_perfetto_sql_stdlib_stdlib",
+ ] + PERFETTO_CONFIG.deps.jsoncpp +
+ PERFETTO_CONFIG.deps.sqlite +
+ PERFETTO_CONFIG.deps.sqlite_ext_percentile +
+ PERFETTO_CONFIG.deps.zlib +
+ PERFETTO_CONFIG.deps.demangle_wrapper,
+ linkstatic = True,
+)
+
# GN target: //test:client_api_example
perfetto_cc_binary(
name = "client_api_example",
@@ -690,6 +838,14 @@
],
)
+# GN target: //include/perfetto/ext/trace_processor/rpc:query_result_serializer
+perfetto_filegroup(
+ name = "include_perfetto_ext_trace_processor_rpc_query_result_serializer",
+ srcs = [
+ "include/perfetto/ext/trace_processor/rpc/query_result_serializer.h",
+ ],
+)
+
# GN target: //include/perfetto/ext/trace_processor:demangle
perfetto_filegroup(
name = "include_perfetto_ext_trace_processor_demangle",
@@ -2356,7 +2512,6 @@
name = "src_trace_processor_rpc_rpc",
srcs = [
"src/trace_processor/rpc/query_result_serializer.cc",
- "src/trace_processor/rpc/query_result_serializer.h",
"src/trace_processor/rpc/rpc.cc",
"src/trace_processor/rpc/rpc.h",
],
@@ -5359,6 +5514,7 @@
":include_perfetto_ext_trace_processor_demangle",
":include_perfetto_ext_trace_processor_export_json",
":include_perfetto_ext_trace_processor_importers_memory_tracker_memory_tracker",
+ ":include_perfetto_ext_trace_processor_rpc_query_result_serializer",
":include_perfetto_ext_traced_sys_stats_counters",
":include_perfetto_protozero_protozero",
":include_perfetto_public_abi_base",
diff --git a/include/perfetto/ext/trace_processor/rpc/BUILD.gn b/include/perfetto/ext/trace_processor/rpc/BUILD.gn
new file mode 100644
index 0000000..6a7ccd5
--- /dev/null
+++ b/include/perfetto/ext/trace_processor/rpc/BUILD.gn
@@ -0,0 +1,19 @@
+# Copyright (C) 2023 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("../../../../../gn/perfetto.gni")
+
+source_set("query_result_serializer") {
+ sources = [ "query_result_serializer.h" ]
+}
\ No newline at end of file
diff --git a/src/trace_processor/rpc/query_result_serializer.h b/include/perfetto/ext/trace_processor/rpc/query_result_serializer.h
similarity index 93%
rename from src/trace_processor/rpc/query_result_serializer.h
rename to include/perfetto/ext/trace_processor/rpc/query_result_serializer.h
index 6cc55df..270f814 100644
--- a/src/trace_processor/rpc/query_result_serializer.h
+++ b/include/perfetto/ext/trace_processor/rpc/query_result_serializer.h
@@ -14,8 +14,8 @@
* limitations under the License.
*/
-#ifndef SRC_TRACE_PROCESSOR_RPC_QUERY_RESULT_SERIALIZER_H_
-#define SRC_TRACE_PROCESSOR_RPC_QUERY_RESULT_SERIALIZER_H_
+#ifndef INCLUDE_PERFETTO_EXT_TRACE_PROCESSOR_RPC_QUERY_RESULT_SERIALIZER_H_
+#define INCLUDE_PERFETTO_EXT_TRACE_PROCESSOR_RPC_QUERY_RESULT_SERIALIZER_H_
#include <memory>
#include <vector>
@@ -99,4 +99,4 @@
} // namespace trace_processor
} // namespace perfetto
-#endif // SRC_TRACE_PROCESSOR_RPC_QUERY_RESULT_SERIALIZER_H_
+#endif // INCLUDE_PERFETTO_EXT_TRACE_PROCESSOR_RPC_QUERY_RESULT_SERIALIZER_H_
diff --git a/src/bigtrace/trace_processor_wrapper.cc b/src/bigtrace/trace_processor_wrapper.cc
index 255a165..f3c3c40 100644
--- a/src/bigtrace/trace_processor_wrapper.cc
+++ b/src/bigtrace/trace_processor_wrapper.cc
@@ -39,7 +39,6 @@
#include "perfetto/trace_processor/trace_processor.h"
#include "protos/perfetto/bigtrace/worker.pb.h"
#include "src/protozero/proto_ring_buffer.h"
-#include "src/trace_processor/rpc/query_result_serializer.h"
#include "src/trace_processor/util/status_macros.h"
namespace perfetto {
diff --git a/src/bigtrace/trace_processor_wrapper.h b/src/bigtrace/trace_processor_wrapper.h
index d28a1ea..8010614 100644
--- a/src/bigtrace/trace_processor_wrapper.h
+++ b/src/bigtrace/trace_processor_wrapper.h
@@ -20,8 +20,8 @@
#include "perfetto/ext/base/threading/future.h"
#include "perfetto/ext/base/threading/stream.h"
#include "perfetto/ext/base/threading/thread_pool.h"
+#include "perfetto/ext/trace_processor/rpc/query_result_serializer.h"
#include "perfetto/trace_processor/trace_processor.h"
-#include "src/trace_processor/rpc/query_result_serializer.h"
namespace perfetto {
namespace protos {
diff --git a/src/trace_processor/rpc/BUILD.gn b/src/trace_processor/rpc/BUILD.gn
index 4d31414..8604153 100644
--- a/src/trace_processor/rpc/BUILD.gn
+++ b/src/trace_processor/rpc/BUILD.gn
@@ -23,10 +23,9 @@
# interface) and by the :httpd module for the HTTP interface.
source_set("rpc") {
sources = [
- "query_result_serializer.cc",
- "query_result_serializer.h",
"rpc.cc",
"rpc.h",
+ "query_result_serializer.cc",
]
deps = [
"..:lib",
@@ -39,6 +38,14 @@
"../../protozero",
"../../protozero:proto_ring_buffer",
]
+ public_deps = [
+ "../../../include/perfetto/ext/trace_processor/rpc:query_result_serializer",
+ ]
+}
+
+# Static library target for RPC code. Needed for BigTrace in Google3.
+static_library("trace_processor_rpc") {
+ public_deps = [ ":rpc" ]
}
perfetto_unittest_source_set("unittests") {
diff --git a/src/trace_processor/rpc/query_result_serializer.cc b/src/trace_processor/rpc/query_result_serializer.cc
index 00983c4..54069eb 100644
--- a/src/trace_processor/rpc/query_result_serializer.cc
+++ b/src/trace_processor/rpc/query_result_serializer.cc
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#include "src/trace_processor/rpc/query_result_serializer.h"
+#include "perfetto/ext/trace_processor/rpc/query_result_serializer.h"
#include <vector>
diff --git a/src/trace_processor/rpc/query_result_serializer_benchmark.cc b/src/trace_processor/rpc/query_result_serializer_benchmark.cc
index 339d6ea..c298f33 100644
--- a/src/trace_processor/rpc/query_result_serializer_benchmark.cc
+++ b/src/trace_processor/rpc/query_result_serializer_benchmark.cc
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#include "src/trace_processor/rpc/query_result_serializer.h"
+#include "perfetto/ext/trace_processor/rpc/query_result_serializer.h"
#include <benchmark/benchmark.h>
diff --git a/src/trace_processor/rpc/query_result_serializer_unittest.cc b/src/trace_processor/rpc/query_result_serializer_unittest.cc
index 8038bae..f28bec0 100644
--- a/src/trace_processor/rpc/query_result_serializer_unittest.cc
+++ b/src/trace_processor/rpc/query_result_serializer_unittest.cc
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-#include "src/trace_processor/rpc/query_result_serializer.h"
+#include "perfetto/ext/trace_processor/rpc/query_result_serializer.h"
#include <deque>
#include <ostream>
diff --git a/src/trace_processor/rpc/rpc.cc b/src/trace_processor/rpc/rpc.cc
index 2b8b174..366ebfc 100644
--- a/src/trace_processor/rpc/rpc.cc
+++ b/src/trace_processor/rpc/rpc.cc
@@ -24,11 +24,11 @@
#include "perfetto/base/time.h"
#include "perfetto/ext/base/utils.h"
#include "perfetto/ext/base/version.h"
+#include "perfetto/ext/trace_processor/rpc/query_result_serializer.h"
#include "perfetto/protozero/scattered_heap_buffer.h"
#include "perfetto/protozero/scattered_stream_writer.h"
#include "perfetto/trace_processor/trace_processor.h"
#include "src/protozero/proto_ring_buffer.h"
-#include "src/trace_processor/rpc/query_result_serializer.h"
#include "src/trace_processor/tp_metatrace.h"
#include "protos/perfetto/trace_processor/trace_processor.pbzero.h"
diff --git a/tools/gen_bazel b/tools/gen_bazel
index 5429026..d07cc13 100755
--- a/tools/gen_bazel
+++ b/tools/gen_bazel
@@ -84,6 +84,7 @@
'//src/protozero/protoc_plugin:protozero_plugin',
'//src/tools/proto_filter:proto_filter',
'//src/tools/proto_merger:proto_merger',
+ '//src/trace_processor/rpc:trace_processor_rpc',
'//test:client_api_example',
] + public_targets