tp: refactor JSON code to remove ifdefs, consolidate ingestion into args
This CL consolidates all ifdefs (similar to what recently happened with
gzip) into a single class for JSON related things.
It also moves the ingestion of json object into args into the utils
file to allow it to be reused.
Bug: 151432548
Change-Id: Iaeccf798fa6478377abc70ef1cb0a20e4e76913f
diff --git a/Android.bp b/Android.bp
index 847199e..c6c8505 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1249,6 +1249,11 @@
name: "perfetto_include_perfetto_ext_ipc_ipc",
}
+// GN: //include/perfetto/ext/trace_processor:export_json
+filegroup {
+ name: "perfetto_include_perfetto_ext_trace_processor_export_json",
+}
+
// GN: //include/perfetto/ext/traced:sys_stats_counters
filegroup {
name: "perfetto_include_perfetto_ext_traced_sys_stats_counters",
@@ -6257,6 +6262,14 @@
],
}
+// GN: //src/trace_processor:export_json
+filegroup {
+ name: "perfetto_src_trace_processor_export_json",
+ srcs: [
+ "src/trace_processor/export_json.cc",
+ ],
+}
+
// GN: //src/trace_processor:lib
filegroup {
name: "perfetto_src_trace_processor_lib",
@@ -6338,6 +6351,9 @@
"src/trace_processor/importers/fuchsia/fuchsia_trace_tokenizer.cc",
"src/trace_processor/importers/fuchsia/fuchsia_trace_utils.cc",
"src/trace_processor/importers/gzip/gzip_trace_parser.cc",
+ "src/trace_processor/importers/json/json_trace_parser.cc",
+ "src/trace_processor/importers/json/json_trace_tokenizer.cc",
+ "src/trace_processor/importers/json/json_tracker.cc",
"src/trace_processor/importers/proto/android_probes_module.cc",
"src/trace_processor/importers/proto/android_probes_parser.cc",
"src/trace_processor/importers/proto/graphics_event_module.cc",
@@ -6370,6 +6386,7 @@
"src/trace_processor/heap_profile_tracker.cc",
"src/trace_processor/importers/ftrace/ftrace_module.cc",
"src/trace_processor/importers/gzip/gzip_utils.cc",
+ "src/trace_processor/importers/json/json_utils.cc",
"src/trace_processor/importers/ninja/ninja_log_parser.cc",
"src/trace_processor/importers/proto/args_table_utils.cc",
"src/trace_processor/importers/proto/packet_sequence_state.cc",
@@ -7155,6 +7172,7 @@
":perfetto_include_perfetto_base_base",
":perfetto_include_perfetto_ext_base_base",
":perfetto_include_perfetto_ext_ipc_ipc",
+ ":perfetto_include_perfetto_ext_trace_processor_export_json",
":perfetto_include_perfetto_ext_traced_sys_stats_counters",
":perfetto_include_perfetto_ext_traced_traced",
":perfetto_include_perfetto_ext_tracing_core_core",
@@ -7272,6 +7290,7 @@
":perfetto_src_trace_processor_db_lib",
":perfetto_src_trace_processor_db_unittests",
":perfetto_src_trace_processor_descriptors",
+ ":perfetto_src_trace_processor_export_json",
":perfetto_src_trace_processor_lib",
":perfetto_src_trace_processor_metrics_lib",
":perfetto_src_trace_processor_metrics_unittests",
@@ -7468,6 +7487,7 @@
srcs: [
":perfetto_include_perfetto_base_base",
":perfetto_include_perfetto_ext_base_base",
+ ":perfetto_include_perfetto_ext_trace_processor_export_json",
":perfetto_include_perfetto_ext_traced_sys_stats_counters",
":perfetto_include_perfetto_protozero_protozero",
":perfetto_include_perfetto_trace_processor_basic_types",
@@ -7508,6 +7528,7 @@
":perfetto_src_trace_processor_containers_containers",
":perfetto_src_trace_processor_db_lib",
":perfetto_src_trace_processor_descriptors",
+ ":perfetto_src_trace_processor_export_json",
":perfetto_src_trace_processor_lib",
":perfetto_src_trace_processor_metrics_lib",
":perfetto_src_trace_processor_sqlite_sqlite",
@@ -7578,6 +7599,7 @@
srcs: [
":perfetto_include_perfetto_base_base",
":perfetto_include_perfetto_ext_base_base",
+ ":perfetto_include_perfetto_ext_trace_processor_export_json",
":perfetto_include_perfetto_ext_traced_sys_stats_counters",
":perfetto_include_perfetto_profiling_deobfuscator",
":perfetto_include_perfetto_profiling_pprof_builder",
@@ -7622,6 +7644,7 @@
":perfetto_src_trace_processor_containers_containers",
":perfetto_src_trace_processor_db_lib",
":perfetto_src_trace_processor_descriptors",
+ ":perfetto_src_trace_processor_export_json",
":perfetto_src_trace_processor_lib",
":perfetto_src_trace_processor_metrics_lib",
":perfetto_src_trace_processor_sqlite_sqlite",