tp: push down most build srcs into importer specific rules

A follow-up will remove the importers/BUILD.gn entirely

Change-Id: I9af171df55aaa932dd552a9f0775ab4d380392b6
diff --git a/Android.bp b/Android.bp
index 14c0e12..676074d 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1972,16 +1972,23 @@
         ":perfetto_src_trace_processor_importers_common_common",
         ":perfetto_src_trace_processor_importers_common_parser_types",
         ":perfetto_src_trace_processor_importers_common_trace_parser_hdr",
-        ":perfetto_src_trace_processor_importers_ftrace_descriptors",
+        ":perfetto_src_trace_processor_importers_ftrace_ftrace_descriptors",
+        ":perfetto_src_trace_processor_importers_ftrace_full",
+        ":perfetto_src_trace_processor_importers_ftrace_minimal",
         ":perfetto_src_trace_processor_importers_fuchsia_fuchsia_record",
         ":perfetto_src_trace_processor_importers_full",
+        ":perfetto_src_trace_processor_importers_i2c_full",
+        ":perfetto_src_trace_processor_importers_json_minimal",
         ":perfetto_src_trace_processor_importers_memory_tracker_graph_processor",
         ":perfetto_src_trace_processor_importers_minimal",
         ":perfetto_src_trace_processor_importers_ninja_ninja",
         ":perfetto_src_trace_processor_importers_proto_full",
         ":perfetto_src_trace_processor_importers_proto_minimal",
         ":perfetto_src_trace_processor_importers_proto_packet_sequence_state_generation_hdr",
+        ":perfetto_src_trace_processor_importers_proto_proto_importer_module",
+        ":perfetto_src_trace_processor_importers_syscalls_full",
         ":perfetto_src_trace_processor_importers_systrace_systrace_line",
+        ":perfetto_src_trace_processor_importers_systrace_systrace_parser",
         ":perfetto_src_trace_processor_lib",
         ":perfetto_src_trace_processor_metatrace",
         ":perfetto_src_trace_processor_metrics_metrics",
@@ -2176,9 +2183,9 @@
         "perfetto_src_base_version_gen_h",
         "perfetto_src_trace_processor_importers_gen_cc_chrome_track_event_descriptor",
         "perfetto_src_trace_processor_importers_gen_cc_config_descriptor",
-        "perfetto_src_trace_processor_importers_gen_cc_trace_descriptor",
         "perfetto_src_trace_processor_importers_gen_cc_track_event_descriptor",
         "perfetto_src_trace_processor_importers_proto_gen_cc_statsd_atoms_descriptor",
+        "perfetto_src_trace_processor_importers_proto_gen_cc_trace_descriptor",
         "perfetto_src_trace_processor_metrics_gen_cc_all_chrome_metrics_descriptor",
         "perfetto_src_trace_processor_metrics_gen_cc_metrics_descriptor",
         "perfetto_src_trace_processor_metrics_sql_gen_amalgamated_sql_metrics",
@@ -9143,6 +9150,7 @@
     srcs: [
         "src/trace_processor/importers/common/args_tracker.cc",
         "src/trace_processor/importers/common/args_translation_table.cc",
+        "src/trace_processor/importers/common/async_track_set_tracker.cc",
         "src/trace_processor/importers/common/clock_tracker.cc",
         "src/trace_processor/importers/common/deobfuscation_mapping_table.cc",
         "src/trace_processor/importers/common/event_tracker.cc",
@@ -9172,6 +9180,7 @@
     name: "perfetto_src_trace_processor_importers_common_unittests",
     srcs: [
         "src/trace_processor/importers/common/args_translation_table_unittest.cc",
+        "src/trace_processor/importers/common/async_track_set_tracker_unittest.cc",
         "src/trace_processor/importers/common/clock_tracker_unittest.cc",
         "src/trace_processor/importers/common/deobfuscation_mapping_table_unittest.cc",
         "src/trace_processor/importers/common/event_tracker_unittest.cc",
@@ -9182,14 +9191,40 @@
     ],
 }
 
-// GN: //src/trace_processor/importers:ftrace_descriptors
+// GN: //src/trace_processor/importers/ftrace:ftrace_descriptors
 filegroup {
-    name: "perfetto_src_trace_processor_importers_ftrace_descriptors",
+    name: "perfetto_src_trace_processor_importers_ftrace_ftrace_descriptors",
     srcs: [
         "src/trace_processor/importers/ftrace/ftrace_descriptors.cc",
     ],
 }
 
+// GN: //src/trace_processor/importers/ftrace:full
+filegroup {
+    name: "perfetto_src_trace_processor_importers_ftrace_full",
+    srcs: [
+        "src/trace_processor/importers/ftrace/binder_tracker.cc",
+        "src/trace_processor/importers/ftrace/drm_tracker.cc",
+        "src/trace_processor/importers/ftrace/ftrace_module_impl.cc",
+        "src/trace_processor/importers/ftrace/ftrace_parser.cc",
+        "src/trace_processor/importers/ftrace/ftrace_tokenizer.cc",
+        "src/trace_processor/importers/ftrace/iostat_tracker.cc",
+        "src/trace_processor/importers/ftrace/rss_stat_tracker.cc",
+        "src/trace_processor/importers/ftrace/sched_event_tracker.cc",
+        "src/trace_processor/importers/ftrace/thread_state_tracker.cc",
+        "src/trace_processor/importers/ftrace/v4l2_tracker.cc",
+        "src/trace_processor/importers/ftrace/virtio_video_tracker.cc",
+    ],
+}
+
+// GN: //src/trace_processor/importers/ftrace:minimal
+filegroup {
+    name: "perfetto_src_trace_processor_importers_ftrace_minimal",
+    srcs: [
+        "src/trace_processor/importers/ftrace/ftrace_module.cc",
+    ],
+}
+
 // GN: //src/trace_processor/importers/fuchsia:fuchsia_record
 filegroup {
     name: "perfetto_src_trace_processor_importers_fuchsia_fuchsia_record",
@@ -9203,42 +9238,14 @@
     name: "perfetto_src_trace_processor_importers_full",
     srcs: [
         "src/trace_processor/importers/additional_modules.cc",
-        "src/trace_processor/importers/ftrace/binder_tracker.cc",
-        "src/trace_processor/importers/ftrace/drm_tracker.cc",
-        "src/trace_processor/importers/ftrace/ftrace_module_impl.cc",
-        "src/trace_processor/importers/ftrace/ftrace_parser.cc",
-        "src/trace_processor/importers/ftrace/ftrace_tokenizer.cc",
-        "src/trace_processor/importers/ftrace/iostat_tracker.cc",
-        "src/trace_processor/importers/ftrace/rss_stat_tracker.cc",
-        "src/trace_processor/importers/ftrace/sched_event_tracker.cc",
-        "src/trace_processor/importers/ftrace/thread_state_tracker.cc",
-        "src/trace_processor/importers/ftrace/v4l2_tracker.cc",
-        "src/trace_processor/importers/ftrace/virtio_video_tracker.cc",
         "src/trace_processor/importers/fuchsia/fuchsia_trace_parser.cc",
         "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/i2c/i2c_tracker.cc",
         "src/trace_processor/importers/json/json_trace_parser.cc",
         "src/trace_processor/importers/json/json_trace_tokenizer.cc",
-        "src/trace_processor/importers/proto/android_camera_event_module.cc",
-        "src/trace_processor/importers/proto/android_probes_module.cc",
-        "src/trace_processor/importers/proto/android_probes_parser.cc",
-        "src/trace_processor/importers/proto/android_probes_tracker.cc",
-        "src/trace_processor/importers/proto/content_analyzer.cc",
-        "src/trace_processor/importers/proto/frame_timeline_event_parser.cc",
-        "src/trace_processor/importers/proto/gpu_event_parser.cc",
-        "src/trace_processor/importers/proto/graphics_event_module.cc",
-        "src/trace_processor/importers/proto/graphics_frame_event_parser.cc",
-        "src/trace_processor/importers/proto/heap_graph_module.cc",
-        "src/trace_processor/importers/proto/system_probes_module.cc",
-        "src/trace_processor/importers/proto/system_probes_parser.cc",
-        "src/trace_processor/importers/proto/translation_table_module.cc",
-        "src/trace_processor/importers/proto/vulkan_memory_tracker.cc",
-        "src/trace_processor/importers/syscalls/syscall_tracker.cc",
         "src/trace_processor/importers/systrace/systrace_line_parser.cc",
         "src/trace_processor/importers/systrace/systrace_line_tokenizer.cc",
-        "src/trace_processor/importers/systrace/systrace_parser.cc",
         "src/trace_processor/importers/systrace/systrace_trace_parser.cc",
     ],
 }
@@ -9273,21 +9280,6 @@
     ],
 }
 
-// GN: //src/trace_processor/importers:gen_cc_trace_descriptor
-genrule {
-    name: "perfetto_src_trace_processor_importers_gen_cc_trace_descriptor",
-    srcs: [
-        ":perfetto_protos_perfetto_trace_descriptor",
-    ],
-    cmd: "$(location tools/gen_cc_proto_descriptor.py) --gen_dir=$(genDir) --cpp_out=$(out) $(in)",
-    out: [
-        "src/trace_processor/importers/trace.descriptor.h",
-    ],
-    tool_files: [
-        "tools/gen_cc_proto_descriptor.py",
-    ],
-}
-
 // GN: //src/trace_processor/importers:gen_cc_track_event_descriptor
 genrule {
     name: "perfetto_src_trace_processor_importers_gen_cc_track_event_descriptor",
@@ -9303,6 +9295,22 @@
     ],
 }
 
+// GN: //src/trace_processor/importers/i2c:full
+filegroup {
+    name: "perfetto_src_trace_processor_importers_i2c_full",
+    srcs: [
+        "src/trace_processor/importers/i2c/i2c_tracker.cc",
+    ],
+}
+
+// GN: //src/trace_processor/importers/json:minimal
+filegroup {
+    name: "perfetto_src_trace_processor_importers_json_minimal",
+    srcs: [
+        "src/trace_processor/importers/json/json_utils.cc",
+    ],
+}
+
 // GN: //src/trace_processor/importers/memory_tracker:graph_processor
 filegroup {
     name: "perfetto_src_trace_processor_importers_memory_tracker_graph_processor",
@@ -9320,22 +9328,6 @@
     name: "perfetto_src_trace_processor_importers_minimal",
     srcs: [
         "src/trace_processor/importers/default_modules.cc",
-        "src/trace_processor/importers/ftrace/ftrace_module.cc",
-        "src/trace_processor/importers/json/json_utils.cc",
-        "src/trace_processor/importers/proto/chrome_system_probes_module.cc",
-        "src/trace_processor/importers/proto/chrome_system_probes_parser.cc",
-        "src/trace_processor/importers/proto/memory_tracker_snapshot_module.cc",
-        "src/trace_processor/importers/proto/memory_tracker_snapshot_parser.cc",
-        "src/trace_processor/importers/proto/perf_sample_tracker.cc",
-        "src/trace_processor/importers/proto/profile_module.cc",
-        "src/trace_processor/importers/proto/profile_packet_utils.cc",
-        "src/trace_processor/importers/proto/proto_trace_parser.cc",
-        "src/trace_processor/importers/proto/proto_trace_reader.cc",
-        "src/trace_processor/importers/proto/proto_trace_tokenizer.cc",
-        "src/trace_processor/importers/proto/track_event_module.cc",
-        "src/trace_processor/importers/proto/track_event_parser.cc",
-        "src/trace_processor/importers/proto/track_event_tokenizer.cc",
-        "src/trace_processor/importers/proto/track_event_tracker.cc",
     ],
 }
 
@@ -9351,9 +9343,23 @@
 filegroup {
     name: "perfetto_src_trace_processor_importers_proto_full",
     srcs: [
+        "src/trace_processor/importers/proto/android_camera_event_module.cc",
+        "src/trace_processor/importers/proto/android_probes_module.cc",
+        "src/trace_processor/importers/proto/android_probes_parser.cc",
+        "src/trace_processor/importers/proto/android_probes_tracker.cc",
+        "src/trace_processor/importers/proto/content_analyzer.cc",
+        "src/trace_processor/importers/proto/frame_timeline_event_parser.cc",
+        "src/trace_processor/importers/proto/gpu_event_parser.cc",
+        "src/trace_processor/importers/proto/graphics_event_module.cc",
+        "src/trace_processor/importers/proto/graphics_frame_event_parser.cc",
+        "src/trace_processor/importers/proto/heap_graph_module.cc",
         "src/trace_processor/importers/proto/heap_graph_tracker.cc",
         "src/trace_processor/importers/proto/metadata_module.cc",
         "src/trace_processor/importers/proto/statsd_module.cc",
+        "src/trace_processor/importers/proto/system_probes_module.cc",
+        "src/trace_processor/importers/proto/system_probes_parser.cc",
+        "src/trace_processor/importers/proto/translation_table_module.cc",
+        "src/trace_processor/importers/proto/vulkan_memory_tracker.cc",
     ],
 }
 
@@ -9372,20 +9378,47 @@
     ],
 }
 
+// GN: //src/trace_processor/importers/proto:gen_cc_trace_descriptor
+genrule {
+    name: "perfetto_src_trace_processor_importers_proto_gen_cc_trace_descriptor",
+    srcs: [
+        ":perfetto_protos_perfetto_trace_descriptor",
+    ],
+    cmd: "$(location tools/gen_cc_proto_descriptor.py) --gen_dir=$(genDir) --cpp_out=$(out) $(in)",
+    out: [
+        "src/trace_processor/importers/proto/trace.descriptor.h",
+    ],
+    tool_files: [
+        "tools/gen_cc_proto_descriptor.py",
+    ],
+}
+
 // GN: //src/trace_processor/importers/proto:minimal
 filegroup {
     name: "perfetto_src_trace_processor_importers_proto_minimal",
     srcs: [
         "src/trace_processor/importers/proto/active_chrome_processes_tracker.cc",
-        "src/trace_processor/importers/proto/async_track_set_tracker.cc",
         "src/trace_processor/importers/proto/chrome_string_lookup.cc",
+        "src/trace_processor/importers/proto/chrome_system_probes_module.cc",
+        "src/trace_processor/importers/proto/chrome_system_probes_parser.cc",
         "src/trace_processor/importers/proto/heap_profile_tracker.cc",
+        "src/trace_processor/importers/proto/memory_tracker_snapshot_module.cc",
+        "src/trace_processor/importers/proto/memory_tracker_snapshot_parser.cc",
         "src/trace_processor/importers/proto/metadata_minimal_module.cc",
         "src/trace_processor/importers/proto/metadata_tracker.cc",
         "src/trace_processor/importers/proto/packet_sequence_state_generation.cc",
+        "src/trace_processor/importers/proto/perf_sample_tracker.cc",
+        "src/trace_processor/importers/proto/profile_module.cc",
+        "src/trace_processor/importers/proto/profile_packet_utils.cc",
         "src/trace_processor/importers/proto/profiler_util.cc",
-        "src/trace_processor/importers/proto/proto_importer_module.cc",
+        "src/trace_processor/importers/proto/proto_trace_parser.cc",
+        "src/trace_processor/importers/proto/proto_trace_reader.cc",
+        "src/trace_processor/importers/proto/proto_trace_tokenizer.cc",
         "src/trace_processor/importers/proto/stack_profile_tracker.cc",
+        "src/trace_processor/importers/proto/track_event_module.cc",
+        "src/trace_processor/importers/proto/track_event_parser.cc",
+        "src/trace_processor/importers/proto/track_event_tokenizer.cc",
+        "src/trace_processor/importers/proto/track_event_tracker.cc",
     ],
 }
 
@@ -9394,6 +9427,14 @@
     name: "perfetto_src_trace_processor_importers_proto_packet_sequence_state_generation_hdr",
 }
 
+// GN: //src/trace_processor/importers/proto:proto_importer_module
+filegroup {
+    name: "perfetto_src_trace_processor_importers_proto_proto_importer_module",
+    srcs: [
+        "src/trace_processor/importers/proto/proto_importer_module.cc",
+    ],
+}
+
 // GN: //src/trace_processor/importers/proto:unittests
 filegroup {
     name: "perfetto_src_trace_processor_importers_proto_unittests",
@@ -9404,11 +9445,27 @@
     ],
 }
 
+// GN: //src/trace_processor/importers/syscalls:full
+filegroup {
+    name: "perfetto_src_trace_processor_importers_syscalls_full",
+    srcs: [
+        "src/trace_processor/importers/syscalls/syscall_tracker.cc",
+    ],
+}
+
 // GN: //src/trace_processor/importers/systrace:systrace_line
 filegroup {
     name: "perfetto_src_trace_processor_importers_systrace_systrace_line",
 }
 
+// GN: //src/trace_processor/importers/systrace:systrace_parser
+filegroup {
+    name: "perfetto_src_trace_processor_importers_systrace_systrace_parser",
+    srcs: [
+        "src/trace_processor/importers/systrace/systrace_parser.cc",
+    ],
+}
+
 // GN: //src/trace_processor/importers:unittests
 filegroup {
     name: "perfetto_src_trace_processor_importers_unittests",
@@ -9421,7 +9478,6 @@
         "src/trace_processor/importers/memory_tracker/graph_processor_unittest.cc",
         "src/trace_processor/importers/memory_tracker/graph_unittest.cc",
         "src/trace_processor/importers/memory_tracker/raw_process_memory_node_unittest.cc",
-        "src/trace_processor/importers/proto/async_track_set_tracker_unittest.cc",
         "src/trace_processor/importers/proto/perf_sample_tracker_unittest.cc",
         "src/trace_processor/importers/proto/proto_trace_parser_unittest.cc",
         "src/trace_processor/importers/syscalls/syscall_tracker_unittest.cc",
@@ -11258,17 +11314,24 @@
         ":perfetto_src_trace_processor_importers_common_parser_types",
         ":perfetto_src_trace_processor_importers_common_trace_parser_hdr",
         ":perfetto_src_trace_processor_importers_common_unittests",
-        ":perfetto_src_trace_processor_importers_ftrace_descriptors",
+        ":perfetto_src_trace_processor_importers_ftrace_ftrace_descriptors",
+        ":perfetto_src_trace_processor_importers_ftrace_full",
+        ":perfetto_src_trace_processor_importers_ftrace_minimal",
         ":perfetto_src_trace_processor_importers_fuchsia_fuchsia_record",
         ":perfetto_src_trace_processor_importers_full",
+        ":perfetto_src_trace_processor_importers_i2c_full",
+        ":perfetto_src_trace_processor_importers_json_minimal",
         ":perfetto_src_trace_processor_importers_memory_tracker_graph_processor",
         ":perfetto_src_trace_processor_importers_minimal",
         ":perfetto_src_trace_processor_importers_ninja_ninja",
         ":perfetto_src_trace_processor_importers_proto_full",
         ":perfetto_src_trace_processor_importers_proto_minimal",
         ":perfetto_src_trace_processor_importers_proto_packet_sequence_state_generation_hdr",
+        ":perfetto_src_trace_processor_importers_proto_proto_importer_module",
         ":perfetto_src_trace_processor_importers_proto_unittests",
+        ":perfetto_src_trace_processor_importers_syscalls_full",
         ":perfetto_src_trace_processor_importers_systrace_systrace_line",
+        ":perfetto_src_trace_processor_importers_systrace_systrace_parser",
         ":perfetto_src_trace_processor_importers_unittests",
         ":perfetto_src_trace_processor_lib",
         ":perfetto_src_trace_processor_metatrace",
@@ -11499,9 +11562,9 @@
         "perfetto_src_trace_processor_gen_cc_test_messages_descriptor",
         "perfetto_src_trace_processor_importers_gen_cc_chrome_track_event_descriptor",
         "perfetto_src_trace_processor_importers_gen_cc_config_descriptor",
-        "perfetto_src_trace_processor_importers_gen_cc_trace_descriptor",
         "perfetto_src_trace_processor_importers_gen_cc_track_event_descriptor",
         "perfetto_src_trace_processor_importers_proto_gen_cc_statsd_atoms_descriptor",
+        "perfetto_src_trace_processor_importers_proto_gen_cc_trace_descriptor",
         "perfetto_src_trace_processor_metrics_gen_cc_all_chrome_metrics_descriptor",
         "perfetto_src_trace_processor_metrics_gen_cc_metrics_descriptor",
         "perfetto_src_trace_processor_metrics_sql_gen_amalgamated_sql_metrics",
@@ -11909,16 +11972,23 @@
         ":perfetto_src_trace_processor_importers_common_common",
         ":perfetto_src_trace_processor_importers_common_parser_types",
         ":perfetto_src_trace_processor_importers_common_trace_parser_hdr",
-        ":perfetto_src_trace_processor_importers_ftrace_descriptors",
+        ":perfetto_src_trace_processor_importers_ftrace_ftrace_descriptors",
+        ":perfetto_src_trace_processor_importers_ftrace_full",
+        ":perfetto_src_trace_processor_importers_ftrace_minimal",
         ":perfetto_src_trace_processor_importers_fuchsia_fuchsia_record",
         ":perfetto_src_trace_processor_importers_full",
+        ":perfetto_src_trace_processor_importers_i2c_full",
+        ":perfetto_src_trace_processor_importers_json_minimal",
         ":perfetto_src_trace_processor_importers_memory_tracker_graph_processor",
         ":perfetto_src_trace_processor_importers_minimal",
         ":perfetto_src_trace_processor_importers_ninja_ninja",
         ":perfetto_src_trace_processor_importers_proto_full",
         ":perfetto_src_trace_processor_importers_proto_minimal",
         ":perfetto_src_trace_processor_importers_proto_packet_sequence_state_generation_hdr",
+        ":perfetto_src_trace_processor_importers_proto_proto_importer_module",
+        ":perfetto_src_trace_processor_importers_syscalls_full",
         ":perfetto_src_trace_processor_importers_systrace_systrace_line",
+        ":perfetto_src_trace_processor_importers_systrace_systrace_parser",
         ":perfetto_src_trace_processor_lib",
         ":perfetto_src_trace_processor_metatrace",
         ":perfetto_src_trace_processor_metrics_metrics",
@@ -11991,9 +12061,9 @@
         "perfetto_src_base_version_gen_h",
         "perfetto_src_trace_processor_importers_gen_cc_chrome_track_event_descriptor",
         "perfetto_src_trace_processor_importers_gen_cc_config_descriptor",
-        "perfetto_src_trace_processor_importers_gen_cc_trace_descriptor",
         "perfetto_src_trace_processor_importers_gen_cc_track_event_descriptor",
         "perfetto_src_trace_processor_importers_proto_gen_cc_statsd_atoms_descriptor",
+        "perfetto_src_trace_processor_importers_proto_gen_cc_trace_descriptor",
         "perfetto_src_trace_processor_metrics_gen_cc_all_chrome_metrics_descriptor",
         "perfetto_src_trace_processor_metrics_gen_cc_metrics_descriptor",
         "perfetto_src_trace_processor_metrics_sql_gen_amalgamated_sql_metrics",
@@ -12109,16 +12179,23 @@
         ":perfetto_src_trace_processor_importers_common_common",
         ":perfetto_src_trace_processor_importers_common_parser_types",
         ":perfetto_src_trace_processor_importers_common_trace_parser_hdr",
-        ":perfetto_src_trace_processor_importers_ftrace_descriptors",
+        ":perfetto_src_trace_processor_importers_ftrace_ftrace_descriptors",
+        ":perfetto_src_trace_processor_importers_ftrace_full",
+        ":perfetto_src_trace_processor_importers_ftrace_minimal",
         ":perfetto_src_trace_processor_importers_fuchsia_fuchsia_record",
         ":perfetto_src_trace_processor_importers_full",
+        ":perfetto_src_trace_processor_importers_i2c_full",
+        ":perfetto_src_trace_processor_importers_json_minimal",
         ":perfetto_src_trace_processor_importers_memory_tracker_graph_processor",
         ":perfetto_src_trace_processor_importers_minimal",
         ":perfetto_src_trace_processor_importers_ninja_ninja",
         ":perfetto_src_trace_processor_importers_proto_full",
         ":perfetto_src_trace_processor_importers_proto_minimal",
         ":perfetto_src_trace_processor_importers_proto_packet_sequence_state_generation_hdr",
+        ":perfetto_src_trace_processor_importers_proto_proto_importer_module",
+        ":perfetto_src_trace_processor_importers_syscalls_full",
         ":perfetto_src_trace_processor_importers_systrace_systrace_line",
+        ":perfetto_src_trace_processor_importers_systrace_systrace_parser",
         ":perfetto_src_trace_processor_lib",
         ":perfetto_src_trace_processor_metatrace",
         ":perfetto_src_trace_processor_metrics_metrics",
@@ -12193,9 +12270,9 @@
         "perfetto_src_base_version_gen_h",
         "perfetto_src_trace_processor_importers_gen_cc_chrome_track_event_descriptor",
         "perfetto_src_trace_processor_importers_gen_cc_config_descriptor",
-        "perfetto_src_trace_processor_importers_gen_cc_trace_descriptor",
         "perfetto_src_trace_processor_importers_gen_cc_track_event_descriptor",
         "perfetto_src_trace_processor_importers_proto_gen_cc_statsd_atoms_descriptor",
+        "perfetto_src_trace_processor_importers_proto_gen_cc_trace_descriptor",
         "perfetto_src_trace_processor_metrics_gen_cc_all_chrome_metrics_descriptor",
         "perfetto_src_trace_processor_metrics_gen_cc_metrics_descriptor",
         "perfetto_src_trace_processor_metrics_sql_gen_amalgamated_sql_metrics",
diff --git a/BUILD b/BUILD
index ad4a35b..3c57a68 100644
--- a/BUILD
+++ b/BUILD
@@ -1098,6 +1098,8 @@
         "src/trace_processor/importers/common/args_tracker.h",
         "src/trace_processor/importers/common/args_translation_table.cc",
         "src/trace_processor/importers/common/args_translation_table.h",
+        "src/trace_processor/importers/common/async_track_set_tracker.cc",
+        "src/trace_processor/importers/common/async_track_set_tracker.h",
         "src/trace_processor/importers/common/chunked_trace_reader.h",
         "src/trace_processor/importers/common/clock_tracker.cc",
         "src/trace_processor/importers/common/clock_tracker.h",
@@ -1139,6 +1141,53 @@
     ],
 )
 
+# GN target: //src/trace_processor/importers/ftrace:ftrace_descriptors
+perfetto_filegroup(
+    name = "src_trace_processor_importers_ftrace_ftrace_descriptors",
+    srcs = [
+        "src/trace_processor/importers/ftrace/ftrace_descriptors.cc",
+        "src/trace_processor/importers/ftrace/ftrace_descriptors.h",
+    ],
+)
+
+# GN target: //src/trace_processor/importers/ftrace:full
+perfetto_filegroup(
+    name = "src_trace_processor_importers_ftrace_full",
+    srcs = [
+        "src/trace_processor/importers/ftrace/binder_tracker.cc",
+        "src/trace_processor/importers/ftrace/binder_tracker.h",
+        "src/trace_processor/importers/ftrace/drm_tracker.cc",
+        "src/trace_processor/importers/ftrace/drm_tracker.h",
+        "src/trace_processor/importers/ftrace/ftrace_module_impl.cc",
+        "src/trace_processor/importers/ftrace/ftrace_module_impl.h",
+        "src/trace_processor/importers/ftrace/ftrace_parser.cc",
+        "src/trace_processor/importers/ftrace/ftrace_parser.h",
+        "src/trace_processor/importers/ftrace/ftrace_tokenizer.cc",
+        "src/trace_processor/importers/ftrace/ftrace_tokenizer.h",
+        "src/trace_processor/importers/ftrace/iostat_tracker.cc",
+        "src/trace_processor/importers/ftrace/iostat_tracker.h",
+        "src/trace_processor/importers/ftrace/rss_stat_tracker.cc",
+        "src/trace_processor/importers/ftrace/rss_stat_tracker.h",
+        "src/trace_processor/importers/ftrace/sched_event_tracker.cc",
+        "src/trace_processor/importers/ftrace/sched_event_tracker.h",
+        "src/trace_processor/importers/ftrace/thread_state_tracker.cc",
+        "src/trace_processor/importers/ftrace/thread_state_tracker.h",
+        "src/trace_processor/importers/ftrace/v4l2_tracker.cc",
+        "src/trace_processor/importers/ftrace/v4l2_tracker.h",
+        "src/trace_processor/importers/ftrace/virtio_video_tracker.cc",
+        "src/trace_processor/importers/ftrace/virtio_video_tracker.h",
+    ],
+)
+
+# GN target: //src/trace_processor/importers/ftrace:minimal
+perfetto_filegroup(
+    name = "src_trace_processor_importers_ftrace_minimal",
+    srcs = [
+        "src/trace_processor/importers/ftrace/ftrace_module.cc",
+        "src/trace_processor/importers/ftrace/ftrace_module.h",
+    ],
+)
+
 # GN target: //src/trace_processor/importers/fuchsia:fuchsia_record
 perfetto_filegroup(
     name = "src_trace_processor_importers_fuchsia_fuchsia_record",
@@ -1148,6 +1197,24 @@
     ],
 )
 
+# GN target: //src/trace_processor/importers/i2c:full
+perfetto_filegroup(
+    name = "src_trace_processor_importers_i2c_full",
+    srcs = [
+        "src/trace_processor/importers/i2c/i2c_tracker.cc",
+        "src/trace_processor/importers/i2c/i2c_tracker.h",
+    ],
+)
+
+# GN target: //src/trace_processor/importers/json:minimal
+perfetto_filegroup(
+    name = "src_trace_processor_importers_json_minimal",
+    srcs = [
+        "src/trace_processor/importers/json/json_utils.cc",
+        "src/trace_processor/importers/json/json_utils.h",
+    ],
+)
+
 # GN target: //src/trace_processor/importers/memory_tracker:graph_processor
 perfetto_filegroup(
     name = "src_trace_processor_importers_memory_tracker_graph_processor",
@@ -1173,119 +1240,6 @@
 perfetto_filegroup(
     name = "src_trace_processor_importers_proto_full",
     srcs = [
-        "src/trace_processor/importers/proto/heap_graph_tracker.cc",
-        "src/trace_processor/importers/proto/heap_graph_tracker.h",
-        "src/trace_processor/importers/proto/metadata_module.cc",
-        "src/trace_processor/importers/proto/metadata_module.h",
-        "src/trace_processor/importers/proto/statsd_module.cc",
-        "src/trace_processor/importers/proto/statsd_module.h",
-    ],
-)
-
-# GN target: //src/trace_processor/importers/proto:gen_cc_statsd_atoms_descriptor
-perfetto_cc_proto_descriptor(
-    name = "src_trace_processor_importers_proto_gen_cc_statsd_atoms_descriptor",
-    deps = [
-        "src/trace_processor/importers/proto/atoms.descriptor",
-    ],
-    outs = [
-        "src/trace_processor/importers/proto/atoms.descriptor.h",
-    ],
-)
-
-# GN target: //src/trace_processor/importers/proto:minimal
-perfetto_filegroup(
-    name = "src_trace_processor_importers_proto_minimal",
-    srcs = [
-        "src/trace_processor/importers/proto/active_chrome_processes_tracker.cc",
-        "src/trace_processor/importers/proto/active_chrome_processes_tracker.h",
-        "src/trace_processor/importers/proto/async_track_set_tracker.cc",
-        "src/trace_processor/importers/proto/async_track_set_tracker.h",
-        "src/trace_processor/importers/proto/chrome_string_lookup.cc",
-        "src/trace_processor/importers/proto/chrome_string_lookup.h",
-        "src/trace_processor/importers/proto/heap_profile_tracker.cc",
-        "src/trace_processor/importers/proto/heap_profile_tracker.h",
-        "src/trace_processor/importers/proto/metadata_minimal_module.cc",
-        "src/trace_processor/importers/proto/metadata_minimal_module.h",
-        "src/trace_processor/importers/proto/metadata_tracker.cc",
-        "src/trace_processor/importers/proto/metadata_tracker.h",
-        "src/trace_processor/importers/proto/packet_sequence_state.h",
-        "src/trace_processor/importers/proto/packet_sequence_state_generation.cc",
-        "src/trace_processor/importers/proto/profiler_util.cc",
-        "src/trace_processor/importers/proto/profiler_util.h",
-        "src/trace_processor/importers/proto/proto_importer_module.cc",
-        "src/trace_processor/importers/proto/proto_importer_module.h",
-        "src/trace_processor/importers/proto/stack_profile_tracker.cc",
-        "src/trace_processor/importers/proto/stack_profile_tracker.h",
-    ],
-)
-
-# GN target: //src/trace_processor/importers/proto:packet_sequence_state_generation_hdr
-perfetto_filegroup(
-    name = "src_trace_processor_importers_proto_packet_sequence_state_generation_hdr",
-    srcs = [
-        "src/trace_processor/importers/proto/packet_sequence_state_generation.h",
-    ],
-)
-
-# GN target: //src/trace_processor/importers/systrace:systrace_line
-perfetto_filegroup(
-    name = "src_trace_processor_importers_systrace_systrace_line",
-    srcs = [
-        "src/trace_processor/importers/systrace/systrace_line.h",
-    ],
-)
-
-# GN target: //src/trace_processor/importers:ftrace_descriptors
-perfetto_filegroup(
-    name = "src_trace_processor_importers_ftrace_descriptors",
-    srcs = [
-        "src/trace_processor/importers/ftrace/ftrace_descriptors.cc",
-        "src/trace_processor/importers/ftrace/ftrace_descriptors.h",
-    ],
-)
-
-# GN target: //src/trace_processor/importers:full
-perfetto_filegroup(
-    name = "src_trace_processor_importers_full",
-    srcs = [
-        "src/trace_processor/importers/additional_modules.cc",
-        "src/trace_processor/importers/additional_modules.h",
-        "src/trace_processor/importers/ftrace/binder_tracker.cc",
-        "src/trace_processor/importers/ftrace/binder_tracker.h",
-        "src/trace_processor/importers/ftrace/drm_tracker.cc",
-        "src/trace_processor/importers/ftrace/drm_tracker.h",
-        "src/trace_processor/importers/ftrace/ftrace_module_impl.cc",
-        "src/trace_processor/importers/ftrace/ftrace_module_impl.h",
-        "src/trace_processor/importers/ftrace/ftrace_parser.cc",
-        "src/trace_processor/importers/ftrace/ftrace_parser.h",
-        "src/trace_processor/importers/ftrace/ftrace_tokenizer.cc",
-        "src/trace_processor/importers/ftrace/ftrace_tokenizer.h",
-        "src/trace_processor/importers/ftrace/iostat_tracker.cc",
-        "src/trace_processor/importers/ftrace/iostat_tracker.h",
-        "src/trace_processor/importers/ftrace/rss_stat_tracker.cc",
-        "src/trace_processor/importers/ftrace/rss_stat_tracker.h",
-        "src/trace_processor/importers/ftrace/sched_event_tracker.cc",
-        "src/trace_processor/importers/ftrace/sched_event_tracker.h",
-        "src/trace_processor/importers/ftrace/thread_state_tracker.cc",
-        "src/trace_processor/importers/ftrace/thread_state_tracker.h",
-        "src/trace_processor/importers/ftrace/v4l2_tracker.cc",
-        "src/trace_processor/importers/ftrace/v4l2_tracker.h",
-        "src/trace_processor/importers/ftrace/virtio_video_tracker.cc",
-        "src/trace_processor/importers/ftrace/virtio_video_tracker.h",
-        "src/trace_processor/importers/fuchsia/fuchsia_trace_parser.cc",
-        "src/trace_processor/importers/fuchsia/fuchsia_trace_parser.h",
-        "src/trace_processor/importers/fuchsia/fuchsia_trace_tokenizer.cc",
-        "src/trace_processor/importers/fuchsia/fuchsia_trace_tokenizer.h",
-        "src/trace_processor/importers/fuchsia/fuchsia_trace_utils.cc",
-        "src/trace_processor/importers/gzip/gzip_trace_parser.cc",
-        "src/trace_processor/importers/gzip/gzip_trace_parser.h",
-        "src/trace_processor/importers/i2c/i2c_tracker.cc",
-        "src/trace_processor/importers/i2c/i2c_tracker.h",
-        "src/trace_processor/importers/json/json_trace_parser.cc",
-        "src/trace_processor/importers/json/json_trace_parser.h",
-        "src/trace_processor/importers/json/json_trace_tokenizer.cc",
-        "src/trace_processor/importers/json/json_trace_tokenizer.h",
         "src/trace_processor/importers/proto/android_camera_event_module.cc",
         "src/trace_processor/importers/proto/android_camera_event_module.h",
         "src/trace_processor/importers/proto/android_probes_module.cc",
@@ -1306,6 +1260,12 @@
         "src/trace_processor/importers/proto/graphics_frame_event_parser.h",
         "src/trace_processor/importers/proto/heap_graph_module.cc",
         "src/trace_processor/importers/proto/heap_graph_module.h",
+        "src/trace_processor/importers/proto/heap_graph_tracker.cc",
+        "src/trace_processor/importers/proto/heap_graph_tracker.h",
+        "src/trace_processor/importers/proto/metadata_module.cc",
+        "src/trace_processor/importers/proto/metadata_module.h",
+        "src/trace_processor/importers/proto/statsd_module.cc",
+        "src/trace_processor/importers/proto/statsd_module.h",
         "src/trace_processor/importers/proto/system_probes_module.cc",
         "src/trace_processor/importers/proto/system_probes_module.h",
         "src/trace_processor/importers/proto/system_probes_parser.cc",
@@ -1314,14 +1274,147 @@
         "src/trace_processor/importers/proto/translation_table_module.h",
         "src/trace_processor/importers/proto/vulkan_memory_tracker.cc",
         "src/trace_processor/importers/proto/vulkan_memory_tracker.h",
+    ],
+)
+
+# GN target: //src/trace_processor/importers/proto:gen_cc_statsd_atoms_descriptor
+perfetto_cc_proto_descriptor(
+    name = "src_trace_processor_importers_proto_gen_cc_statsd_atoms_descriptor",
+    deps = [
+        "src/trace_processor/importers/proto/atoms.descriptor",
+    ],
+    outs = [
+        "src/trace_processor/importers/proto/atoms.descriptor.h",
+    ],
+)
+
+# GN target: //src/trace_processor/importers/proto:gen_cc_trace_descriptor
+perfetto_cc_proto_descriptor(
+    name = "src_trace_processor_importers_proto_gen_cc_trace_descriptor",
+    deps = [
+        ":protos_perfetto_trace_descriptor",
+    ],
+    outs = [
+        "src/trace_processor/importers/proto/trace.descriptor.h",
+    ],
+)
+
+# GN target: //src/trace_processor/importers/proto:minimal
+perfetto_filegroup(
+    name = "src_trace_processor_importers_proto_minimal",
+    srcs = [
+        "src/trace_processor/importers/proto/active_chrome_processes_tracker.cc",
+        "src/trace_processor/importers/proto/active_chrome_processes_tracker.h",
+        "src/trace_processor/importers/proto/chrome_string_lookup.cc",
+        "src/trace_processor/importers/proto/chrome_string_lookup.h",
+        "src/trace_processor/importers/proto/chrome_system_probes_module.cc",
+        "src/trace_processor/importers/proto/chrome_system_probes_module.h",
+        "src/trace_processor/importers/proto/chrome_system_probes_parser.cc",
+        "src/trace_processor/importers/proto/chrome_system_probes_parser.h",
+        "src/trace_processor/importers/proto/heap_profile_tracker.cc",
+        "src/trace_processor/importers/proto/heap_profile_tracker.h",
+        "src/trace_processor/importers/proto/memory_tracker_snapshot_module.cc",
+        "src/trace_processor/importers/proto/memory_tracker_snapshot_module.h",
+        "src/trace_processor/importers/proto/memory_tracker_snapshot_parser.cc",
+        "src/trace_processor/importers/proto/memory_tracker_snapshot_parser.h",
+        "src/trace_processor/importers/proto/metadata_minimal_module.cc",
+        "src/trace_processor/importers/proto/metadata_minimal_module.h",
+        "src/trace_processor/importers/proto/metadata_tracker.cc",
+        "src/trace_processor/importers/proto/metadata_tracker.h",
+        "src/trace_processor/importers/proto/packet_sequence_state.h",
+        "src/trace_processor/importers/proto/packet_sequence_state_generation.cc",
+        "src/trace_processor/importers/proto/perf_sample_tracker.cc",
+        "src/trace_processor/importers/proto/perf_sample_tracker.h",
+        "src/trace_processor/importers/proto/profile_module.cc",
+        "src/trace_processor/importers/proto/profile_module.h",
+        "src/trace_processor/importers/proto/profile_packet_utils.cc",
+        "src/trace_processor/importers/proto/profile_packet_utils.h",
+        "src/trace_processor/importers/proto/profiler_util.cc",
+        "src/trace_processor/importers/proto/profiler_util.h",
+        "src/trace_processor/importers/proto/proto_incremental_state.h",
+        "src/trace_processor/importers/proto/proto_trace_parser.cc",
+        "src/trace_processor/importers/proto/proto_trace_parser.h",
+        "src/trace_processor/importers/proto/proto_trace_reader.cc",
+        "src/trace_processor/importers/proto/proto_trace_reader.h",
+        "src/trace_processor/importers/proto/proto_trace_tokenizer.cc",
+        "src/trace_processor/importers/proto/proto_trace_tokenizer.h",
+        "src/trace_processor/importers/proto/stack_profile_tracker.cc",
+        "src/trace_processor/importers/proto/stack_profile_tracker.h",
+        "src/trace_processor/importers/proto/track_event_module.cc",
+        "src/trace_processor/importers/proto/track_event_module.h",
+        "src/trace_processor/importers/proto/track_event_parser.cc",
+        "src/trace_processor/importers/proto/track_event_parser.h",
+        "src/trace_processor/importers/proto/track_event_tokenizer.cc",
+        "src/trace_processor/importers/proto/track_event_tokenizer.h",
+        "src/trace_processor/importers/proto/track_event_tracker.cc",
+        "src/trace_processor/importers/proto/track_event_tracker.h",
+    ],
+)
+
+# GN target: //src/trace_processor/importers/proto:packet_sequence_state_generation_hdr
+perfetto_filegroup(
+    name = "src_trace_processor_importers_proto_packet_sequence_state_generation_hdr",
+    srcs = [
+        "src/trace_processor/importers/proto/packet_sequence_state_generation.h",
+    ],
+)
+
+# GN target: //src/trace_processor/importers/proto:proto_importer_module
+perfetto_filegroup(
+    name = "src_trace_processor_importers_proto_proto_importer_module",
+    srcs = [
+        "src/trace_processor/importers/proto/proto_importer_module.cc",
+        "src/trace_processor/importers/proto/proto_importer_module.h",
+    ],
+)
+
+# GN target: //src/trace_processor/importers/syscalls:full
+perfetto_filegroup(
+    name = "src_trace_processor_importers_syscalls_full",
+    srcs = [
         "src/trace_processor/importers/syscalls/syscall_tracker.cc",
         "src/trace_processor/importers/syscalls/syscall_tracker.h",
+    ],
+)
+
+# GN target: //src/trace_processor/importers/systrace:systrace_line
+perfetto_filegroup(
+    name = "src_trace_processor_importers_systrace_systrace_line",
+    srcs = [
+        "src/trace_processor/importers/systrace/systrace_line.h",
+    ],
+)
+
+# GN target: //src/trace_processor/importers/systrace:systrace_parser
+perfetto_filegroup(
+    name = "src_trace_processor_importers_systrace_systrace_parser",
+    srcs = [
+        "src/trace_processor/importers/systrace/systrace_parser.cc",
+        "src/trace_processor/importers/systrace/systrace_parser.h",
+    ],
+)
+
+# GN target: //src/trace_processor/importers:full
+perfetto_filegroup(
+    name = "src_trace_processor_importers_full",
+    srcs = [
+        "src/trace_processor/importers/additional_modules.cc",
+        "src/trace_processor/importers/additional_modules.h",
+        "src/trace_processor/importers/fuchsia/fuchsia_trace_parser.cc",
+        "src/trace_processor/importers/fuchsia/fuchsia_trace_parser.h",
+        "src/trace_processor/importers/fuchsia/fuchsia_trace_tokenizer.cc",
+        "src/trace_processor/importers/fuchsia/fuchsia_trace_tokenizer.h",
+        "src/trace_processor/importers/fuchsia/fuchsia_trace_utils.cc",
+        "src/trace_processor/importers/gzip/gzip_trace_parser.cc",
+        "src/trace_processor/importers/gzip/gzip_trace_parser.h",
+        "src/trace_processor/importers/json/json_trace_parser.cc",
+        "src/trace_processor/importers/json/json_trace_parser.h",
+        "src/trace_processor/importers/json/json_trace_tokenizer.cc",
+        "src/trace_processor/importers/json/json_trace_tokenizer.h",
         "src/trace_processor/importers/systrace/systrace_line_parser.cc",
         "src/trace_processor/importers/systrace/systrace_line_parser.h",
         "src/trace_processor/importers/systrace/systrace_line_tokenizer.cc",
         "src/trace_processor/importers/systrace/systrace_line_tokenizer.h",
-        "src/trace_processor/importers/systrace/systrace_parser.cc",
-        "src/trace_processor/importers/systrace/systrace_parser.h",
         "src/trace_processor/importers/systrace/systrace_trace_parser.cc",
         "src/trace_processor/importers/systrace/systrace_trace_parser.h",
     ],
@@ -1349,17 +1442,6 @@
     ],
 )
 
-# GN target: //src/trace_processor/importers:gen_cc_trace_descriptor
-perfetto_cc_proto_descriptor(
-    name = "src_trace_processor_importers_gen_cc_trace_descriptor",
-    deps = [
-        ":protos_perfetto_trace_descriptor",
-    ],
-    outs = [
-        "src/trace_processor/importers/trace.descriptor.h",
-    ],
-)
-
 # GN target: //src/trace_processor/importers:gen_cc_track_event_descriptor
 perfetto_cc_proto_descriptor(
     name = "src_trace_processor_importers_gen_cc_track_event_descriptor",
@@ -1377,40 +1459,7 @@
     srcs = [
         "src/trace_processor/importers/default_modules.cc",
         "src/trace_processor/importers/default_modules.h",
-        "src/trace_processor/importers/ftrace/ftrace_module.cc",
-        "src/trace_processor/importers/ftrace/ftrace_module.h",
         "src/trace_processor/importers/fuchsia/fuchsia_trace_utils.h",
-        "src/trace_processor/importers/json/json_utils.cc",
-        "src/trace_processor/importers/json/json_utils.h",
-        "src/trace_processor/importers/proto/chrome_system_probes_module.cc",
-        "src/trace_processor/importers/proto/chrome_system_probes_module.h",
-        "src/trace_processor/importers/proto/chrome_system_probes_parser.cc",
-        "src/trace_processor/importers/proto/chrome_system_probes_parser.h",
-        "src/trace_processor/importers/proto/memory_tracker_snapshot_module.cc",
-        "src/trace_processor/importers/proto/memory_tracker_snapshot_module.h",
-        "src/trace_processor/importers/proto/memory_tracker_snapshot_parser.cc",
-        "src/trace_processor/importers/proto/memory_tracker_snapshot_parser.h",
-        "src/trace_processor/importers/proto/perf_sample_tracker.cc",
-        "src/trace_processor/importers/proto/perf_sample_tracker.h",
-        "src/trace_processor/importers/proto/profile_module.cc",
-        "src/trace_processor/importers/proto/profile_module.h",
-        "src/trace_processor/importers/proto/profile_packet_utils.cc",
-        "src/trace_processor/importers/proto/profile_packet_utils.h",
-        "src/trace_processor/importers/proto/proto_incremental_state.h",
-        "src/trace_processor/importers/proto/proto_trace_parser.cc",
-        "src/trace_processor/importers/proto/proto_trace_parser.h",
-        "src/trace_processor/importers/proto/proto_trace_reader.cc",
-        "src/trace_processor/importers/proto/proto_trace_reader.h",
-        "src/trace_processor/importers/proto/proto_trace_tokenizer.cc",
-        "src/trace_processor/importers/proto/proto_trace_tokenizer.h",
-        "src/trace_processor/importers/proto/track_event_module.cc",
-        "src/trace_processor/importers/proto/track_event_module.h",
-        "src/trace_processor/importers/proto/track_event_parser.cc",
-        "src/trace_processor/importers/proto/track_event_parser.h",
-        "src/trace_processor/importers/proto/track_event_tokenizer.cc",
-        "src/trace_processor/importers/proto/track_event_tokenizer.h",
-        "src/trace_processor/importers/proto/track_event_tracker.cc",
-        "src/trace_processor/importers/proto/track_event_tracker.h",
     ],
 )
 
@@ -4408,16 +4457,23 @@
         ":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_descriptors",
+        ":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_full",
+        ":src_trace_processor_importers_i2c_full",
+        ":src_trace_processor_importers_json_minimal",
         ":src_trace_processor_importers_memory_tracker_graph_processor",
         ":src_trace_processor_importers_minimal",
         ":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_syscalls_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",
@@ -4501,9 +4557,9 @@
                ":src_trace_processor_containers_containers",
                ":src_trace_processor_importers_gen_cc_chrome_track_event_descriptor",
                ":src_trace_processor_importers_gen_cc_config_descriptor",
-               ":src_trace_processor_importers_gen_cc_trace_descriptor",
                ":src_trace_processor_importers_gen_cc_track_event_descriptor",
                ":src_trace_processor_importers_proto_gen_cc_statsd_atoms_descriptor",
+               ":src_trace_processor_importers_proto_gen_cc_trace_descriptor",
                ":src_trace_processor_metrics_gen_cc_all_chrome_metrics_descriptor",
                ":src_trace_processor_metrics_gen_cc_metrics_descriptor",
                ":src_trace_processor_metrics_sql_gen_amalgamated_sql_metrics",
@@ -4544,16 +4600,23 @@
         ":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_descriptors",
+        ":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_full",
+        ":src_trace_processor_importers_i2c_full",
+        ":src_trace_processor_importers_json_minimal",
         ":src_trace_processor_importers_memory_tracker_graph_processor",
         ":src_trace_processor_importers_minimal",
         ":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_syscalls_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",
@@ -4630,9 +4693,9 @@
                ":src_trace_processor_containers_containers",
                ":src_trace_processor_importers_gen_cc_chrome_track_event_descriptor",
                ":src_trace_processor_importers_gen_cc_config_descriptor",
-               ":src_trace_processor_importers_gen_cc_trace_descriptor",
                ":src_trace_processor_importers_gen_cc_track_event_descriptor",
                ":src_trace_processor_importers_proto_gen_cc_statsd_atoms_descriptor",
+               ":src_trace_processor_importers_proto_gen_cc_trace_descriptor",
                ":src_trace_processor_metrics_gen_cc_all_chrome_metrics_descriptor",
                ":src_trace_processor_metrics_gen_cc_metrics_descriptor",
                ":src_trace_processor_metrics_sql_gen_amalgamated_sql_metrics",
@@ -4739,16 +4802,23 @@
         ":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_descriptors",
+        ":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_full",
+        ":src_trace_processor_importers_i2c_full",
+        ":src_trace_processor_importers_json_minimal",
         ":src_trace_processor_importers_memory_tracker_graph_processor",
         ":src_trace_processor_importers_minimal",
         ":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_syscalls_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",
@@ -4823,9 +4893,9 @@
                ":src_trace_processor_containers_containers",
                ":src_trace_processor_importers_gen_cc_chrome_track_event_descriptor",
                ":src_trace_processor_importers_gen_cc_config_descriptor",
-               ":src_trace_processor_importers_gen_cc_trace_descriptor",
                ":src_trace_processor_importers_gen_cc_track_event_descriptor",
                ":src_trace_processor_importers_proto_gen_cc_statsd_atoms_descriptor",
+               ":src_trace_processor_importers_proto_gen_cc_trace_descriptor",
                ":src_trace_processor_metrics_gen_cc_all_chrome_metrics_descriptor",
                ":src_trace_processor_metrics_gen_cc_metrics_descriptor",
                ":src_trace_processor_metrics_sql_gen_amalgamated_sql_metrics",
diff --git a/src/tools/protoprofile/BUILD.gn b/src/tools/protoprofile/BUILD.gn
index f41206c..2e00c05 100644
--- a/src/tools/protoprofile/BUILD.gn
+++ b/src/tools/protoprofile/BUILD.gn
@@ -32,5 +32,5 @@
     "../../trace_processor/util:proto_profiler",
   ]
   sources = [ "main.cc" ]
-  deps = [ "../../trace_processor/importers:gen_cc_trace_descriptor" ]
+  deps = [ "../../trace_processor/importers/proto:gen_cc_trace_descriptor" ]
 }
diff --git a/src/tools/protoprofile/main.cc b/src/tools/protoprofile/main.cc
index 045f891..649cd22 100644
--- a/src/tools/protoprofile/main.cc
+++ b/src/tools/protoprofile/main.cc
@@ -25,7 +25,7 @@
 #include "perfetto/protozero/proto_decoder.h"
 #include "perfetto/protozero/proto_utils.h"
 #include "perfetto/protozero/scattered_heap_buffer.h"
-#include "src/trace_processor/importers/trace.descriptor.h"
+#include "src/trace_processor/importers/proto/trace.descriptor.h"
 #include "src/trace_processor/util/proto_profiler.h"
 
 #include "protos/third_party/pprof/profile.pbzero.h"
diff --git a/src/trace_processor/BUILD.gn b/src/trace_processor/BUILD.gn
index c15fa79..deae481 100644
--- a/src/trace_processor/BUILD.gn
+++ b/src/trace_processor/BUILD.gn
@@ -101,6 +101,7 @@
     "importers:minimal",
     "importers/common",
     "importers/common:parser_types",
+    "importers/ftrace:minimal",
     "importers/fuchsia:fuchsia_record",
     "importers/memory_tracker:graph_processor",
     "importers/proto:minimal",
@@ -115,15 +116,7 @@
     "util:stack_traces_util",
     "views",
   ]
-  public_deps = [
-    "../../include/perfetto/trace_processor:storage",
-    "../../src/kernel_utils:syscall_table",
-  ]
-
-  # json_utils optionally depends on jsoncpp.
-  if (enable_perfetto_trace_processor_json) {
-    deps += [ "../../gn:jsoncpp" ]
-  }
+  public_deps = [ "../../include/perfetto/trace_processor:storage" ]
 }
 
 source_set("export_json") {
@@ -135,14 +128,11 @@
     ":storage_minimal",
     "../../gn:default_deps",
     "../base",
-    "importers:minimal",
+    "importers/json:minimal",
     "storage",
     "types",
   ]
   public_deps = [ "../../include/perfetto/ext/trace_processor:export_json" ]
-  if (enable_perfetto_trace_processor_json) {
-    deps += [ "../../gn:jsoncpp" ]
-  }
 }
 
 if (enable_perfetto_trace_processor_sqlite) {
@@ -172,6 +162,8 @@
       "importers:minimal",
       "importers/android_bugreport",
       "importers/common",
+      "importers/ftrace:full",
+      "importers/json:minimal",
       "importers/ninja",
       "importers/proto:minimal",
       "metrics",
@@ -191,9 +183,6 @@
       "../../gn:sqlite",  # iterator_impl.h includes sqlite3.h.
       "../../include/perfetto/trace_processor",
     ]
-    if (enable_perfetto_trace_processor_json) {
-      deps += [ "../../gn:jsoncpp" ]
-    }
   }
 
   executable("trace_processor_shell") {
@@ -319,9 +308,6 @@
       "../base:test_support",
       "sqlite",
     ]
-    if (enable_perfetto_trace_processor_json) {
-      deps += [ "../../gn:jsoncpp" ]
-    }
   }
 }
 
diff --git a/src/trace_processor/importers/BUILD.gn b/src/trace_processor/importers/BUILD.gn
index db6fa4e..cc176e5 100644
--- a/src/trace_processor/importers/BUILD.gn
+++ b/src/trace_processor/importers/BUILD.gn
@@ -19,58 +19,10 @@
   sources = [
     "default_modules.cc",
     "default_modules.h",
-    "ftrace/ftrace_module.cc",
-    "ftrace/ftrace_module.h",
     "fuchsia/fuchsia_trace_utils.h",
-    "json/json_utils.cc",
-    "json/json_utils.h",
-    "proto/chrome_system_probes_module.cc",
-    "proto/chrome_system_probes_module.h",
-    "proto/chrome_system_probes_parser.cc",
-    "proto/chrome_system_probes_parser.h",
-    "proto/memory_tracker_snapshot_module.cc",
-    "proto/memory_tracker_snapshot_module.h",
-    "proto/memory_tracker_snapshot_parser.cc",
-    "proto/memory_tracker_snapshot_parser.h",
-    "proto/perf_sample_tracker.cc",
-    "proto/perf_sample_tracker.h",
-    "proto/profile_module.cc",
-    "proto/profile_module.h",
-    "proto/profile_packet_utils.cc",
-    "proto/profile_packet_utils.h",
-    "proto/proto_incremental_state.h",
-    "proto/proto_trace_parser.cc",
-    "proto/proto_trace_parser.h",
-    "proto/proto_trace_reader.cc",
-    "proto/proto_trace_reader.h",
-    "proto/proto_trace_tokenizer.cc",
-    "proto/proto_trace_tokenizer.h",
-    "proto/track_event_module.cc",
-    "proto/track_event_module.h",
-    "proto/track_event_parser.cc",
-    "proto/track_event_parser.h",
-    "proto/track_event_tokenizer.cc",
-    "proto/track_event_tokenizer.h",
-    "proto/track_event_tracker.cc",
-    "proto/track_event_tracker.h",
   ]
   deps = [
     "../../../gn:default_deps",
-    "../../../protos/perfetto/common:zero",
-    "../../../protos/perfetto/config:zero",
-    "../../../protos/perfetto/trace:zero",
-    "../../../protos/perfetto/trace/android:zero",
-    "../../../protos/perfetto/trace/chrome:zero",
-    "../../../protos/perfetto/trace/ftrace:zero",
-    "../../../protos/perfetto/trace/interned_data:zero",
-    "../../../protos/perfetto/trace/perfetto:zero",
-    "../../../protos/perfetto/trace/power:zero",
-    "../../../protos/perfetto/trace/profiling:zero",
-    "../../../protos/perfetto/trace/ps:zero",
-    "../../../protos/perfetto/trace/sys_stats:zero",
-    "../../../protos/perfetto/trace/system_info:zero",
-    "../../../protos/perfetto/trace/track_event:zero",
-    "../../../protos/perfetto/trace/translation:zero",
     "../../protozero",
     "../containers",
     "../sorter",
@@ -83,41 +35,17 @@
     "../util:stack_traces_util",
     "common",
     "common:parser_types",
+    "ftrace:minimal",
     "fuchsia:fuchsia_record",
     "memory_tracker:graph_processor",
     "proto:minimal",
   ]
-  if (enable_perfetto_trace_processor_json) {
-    deps += [ "../../../gn:jsoncpp" ]
-  }
 }
 
 source_set("full") {
   sources = [
     "additional_modules.cc",
     "additional_modules.h",
-    "ftrace/binder_tracker.cc",
-    "ftrace/binder_tracker.h",
-    "ftrace/drm_tracker.cc",
-    "ftrace/drm_tracker.h",
-    "ftrace/ftrace_module_impl.cc",
-    "ftrace/ftrace_module_impl.h",
-    "ftrace/ftrace_parser.cc",
-    "ftrace/ftrace_parser.h",
-    "ftrace/ftrace_tokenizer.cc",
-    "ftrace/ftrace_tokenizer.h",
-    "ftrace/iostat_tracker.cc",
-    "ftrace/iostat_tracker.h",
-    "ftrace/rss_stat_tracker.cc",
-    "ftrace/rss_stat_tracker.h",
-    "ftrace/sched_event_tracker.cc",
-    "ftrace/sched_event_tracker.h",
-    "ftrace/thread_state_tracker.cc",
-    "ftrace/thread_state_tracker.h",
-    "ftrace/v4l2_tracker.cc",
-    "ftrace/v4l2_tracker.h",
-    "ftrace/virtio_video_tracker.cc",
-    "ftrace/virtio_video_tracker.h",
     "fuchsia/fuchsia_trace_parser.cc",
     "fuchsia/fuchsia_trace_parser.h",
     "fuchsia/fuchsia_trace_tokenizer.cc",
@@ -125,72 +53,23 @@
     "fuchsia/fuchsia_trace_utils.cc",
     "gzip/gzip_trace_parser.cc",
     "gzip/gzip_trace_parser.h",
-    "i2c/i2c_tracker.cc",
-    "i2c/i2c_tracker.h",
     "json/json_trace_parser.cc",
     "json/json_trace_parser.h",
     "json/json_trace_tokenizer.cc",
     "json/json_trace_tokenizer.h",
-    "proto/android_camera_event_module.cc",
-    "proto/android_camera_event_module.h",
-    "proto/android_probes_module.cc",
-    "proto/android_probes_module.h",
-    "proto/android_probes_parser.cc",
-    "proto/android_probes_parser.h",
-    "proto/android_probes_tracker.cc",
-    "proto/android_probes_tracker.h",
-    "proto/content_analyzer.cc",
-    "proto/content_analyzer.h",
-    "proto/frame_timeline_event_parser.cc",
-    "proto/frame_timeline_event_parser.h",
-    "proto/gpu_event_parser.cc",
-    "proto/gpu_event_parser.h",
-    "proto/graphics_event_module.cc",
-    "proto/graphics_event_module.h",
-    "proto/graphics_frame_event_parser.cc",
-    "proto/graphics_frame_event_parser.h",
-    "proto/heap_graph_module.cc",
-    "proto/heap_graph_module.h",
-    "proto/system_probes_module.cc",
-    "proto/system_probes_module.h",
-    "proto/system_probes_parser.cc",
-    "proto/system_probes_parser.h",
-    "proto/translation_table_module.cc",
-    "proto/translation_table_module.h",
-    "proto/vulkan_memory_tracker.cc",
-    "proto/vulkan_memory_tracker.h",
-    "syscalls/syscall_tracker.cc",
-    "syscalls/syscall_tracker.h",
     "systrace/systrace_line_parser.cc",
     "systrace/systrace_line_parser.h",
     "systrace/systrace_line_tokenizer.cc",
     "systrace/systrace_line_tokenizer.h",
-    "systrace/systrace_parser.cc",
-    "systrace/systrace_parser.h",
     "systrace/systrace_trace_parser.cc",
     "systrace/systrace_trace_parser.h",
   ]
   public_deps = [ "../:storage_minimal" ]
   deps = [
-    ":ftrace_descriptors",
-    ":gen_cc_trace_descriptor",
     ":minimal",
     "../../../gn:default_deps",
     "../../../include/perfetto/ext/base:base",
-    "../../../include/perfetto/ext/traced:sys_stats_counters",
-    "../../../protos/perfetto/common:zero",
-    "../../../protos/perfetto/config:zero",
-    "../../../protos/perfetto/trace:zero",
-    "../../../protos/perfetto/trace/android:zero",
     "../../../protos/perfetto/trace/ftrace:zero",
-    "../../../protos/perfetto/trace/gpu:zero",
-    "../../../protos/perfetto/trace/interned_data:zero",
-    "../../../protos/perfetto/trace/power:zero",
-    "../../../protos/perfetto/trace/profiling:zero",
-    "../../../protos/perfetto/trace/ps:zero",
-    "../../../protos/perfetto/trace/sys_stats:zero",
-    "../../../protos/perfetto/trace/system_info:zero",
-    "../../../protos/perfetto/trace/translation:zero",
     "../../protozero",
     "../containers",
     "../sorter",
@@ -204,25 +83,13 @@
     "android_bugreport",
     "common",
     "common:parser_types",
+    "ftrace:full",
     "fuchsia:fuchsia_record",
+    "json:minimal",
     "proto:full",
     "proto:minimal",
     "systrace:systrace_line",
-  ]
-  if (enable_perfetto_trace_processor_json) {
-    deps += [ "../../../gn:jsoncpp" ]
-  }
-}
-
-source_set("ftrace_descriptors") {
-  sources = [
-    "ftrace/ftrace_descriptors.cc",
-    "ftrace/ftrace_descriptors.h",
-  ]
-  deps = [
-    "../../../gn:default_deps",
-    "../../../include/perfetto/ext/base:base",
-    "../../protozero",
+    "systrace:systrace_parser",
   ]
 }
 
@@ -241,11 +108,6 @@
   descriptor_target = "../../../protos/perfetto/trace/track_event:descriptor"
 }
 
-perfetto_cc_proto_descriptor("gen_cc_trace_descriptor") {
-  descriptor_name = "trace.descriptor"
-  descriptor_target = "../../../protos/perfetto/trace:descriptor"
-}
-
 perfetto_unittest_source_set("unittests") {
   testonly = true
   sources = [
@@ -257,7 +119,6 @@
     "memory_tracker/graph_processor_unittest.cc",
     "memory_tracker/graph_unittest.cc",
     "memory_tracker/raw_process_memory_node_unittest.cc",
-    "proto/async_track_set_tracker_unittest.cc",
     "proto/perf_sample_tracker_unittest.cc",
     "proto/proto_trace_parser_unittest.cc",
     "syscalls/syscall_tracker_unittest.cc",
@@ -295,8 +156,12 @@
     "../util:descriptors",
     "../util:proto_to_args_parser",
     "common",
+    "ftrace:full",
+    "json:minimal",
     "memory_tracker:graph_processor",
     "proto:minimal",
+    "syscalls:full",
+    "systrace:systrace_parser",
   ]
 
   if (enable_perfetto_trace_processor_json) {
@@ -304,6 +169,5 @@
       "json/json_trace_tokenizer_unittest.cc",
       "json/json_utils_unittest.cc",
     ]
-    deps += [ "../../../gn:jsoncpp" ]
   }
 }
diff --git a/src/trace_processor/importers/common/BUILD.gn b/src/trace_processor/importers/common/BUILD.gn
index 9c1b75e..44ead79 100644
--- a/src/trace_processor/importers/common/BUILD.gn
+++ b/src/trace_processor/importers/common/BUILD.gn
@@ -20,6 +20,8 @@
     "args_tracker.h",
     "args_translation_table.cc",
     "args_translation_table.h",
+    "async_track_set_tracker.cc",
+    "async_track_set_tracker.h",
     "chunked_trace_reader.h",
     "clock_tracker.cc",
     "clock_tracker.h",
@@ -83,6 +85,7 @@
 source_set("unittests") {
   sources = [
     "args_translation_table_unittest.cc",
+    "async_track_set_tracker_unittest.cc",
     "clock_tracker_unittest.cc",
     "deobfuscation_mapping_table_unittest.cc",
     "event_tracker_unittest.cc",
diff --git a/src/trace_processor/importers/proto/async_track_set_tracker.cc b/src/trace_processor/importers/common/async_track_set_tracker.cc
similarity index 98%
rename from src/trace_processor/importers/proto/async_track_set_tracker.cc
rename to src/trace_processor/importers/common/async_track_set_tracker.cc
index 276151f..432bd39 100644
--- a/src/trace_processor/importers/proto/async_track_set_tracker.cc
+++ b/src/trace_processor/importers/common/async_track_set_tracker.cc
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "src/trace_processor/importers/proto/async_track_set_tracker.h"
+#include "src/trace_processor/importers/common/async_track_set_tracker.h"
 
 #include "src/trace_processor/importers/common/track_tracker.h"
 #include "src/trace_processor/storage/trace_storage.h"
diff --git a/src/trace_processor/importers/proto/async_track_set_tracker.h b/src/trace_processor/importers/common/async_track_set_tracker.h
similarity index 96%
rename from src/trace_processor/importers/proto/async_track_set_tracker.h
rename to src/trace_processor/importers/common/async_track_set_tracker.h
index b0e932c..dc9093c 100644
--- a/src/trace_processor/importers/proto/async_track_set_tracker.h
+++ b/src/trace_processor/importers/common/async_track_set_tracker.h
@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef SRC_TRACE_PROCESSOR_IMPORTERS_PROTO_ASYNC_TRACK_SET_TRACKER_H_
-#define SRC_TRACE_PROCESSOR_IMPORTERS_PROTO_ASYNC_TRACK_SET_TRACKER_H_
+#ifndef SRC_TRACE_PROCESSOR_IMPORTERS_COMMON_ASYNC_TRACK_SET_TRACKER_H_
+#define SRC_TRACE_PROCESSOR_IMPORTERS_COMMON_ASYNC_TRACK_SET_TRACKER_H_
 
 #include "src/trace_processor/storage/trace_storage.h"
 
@@ -172,4 +172,4 @@
 }  // namespace trace_processor
 }  // namespace perfetto
 
-#endif  // SRC_TRACE_PROCESSOR_IMPORTERS_PROTO_ASYNC_TRACK_SET_TRACKER_H_
+#endif  // SRC_TRACE_PROCESSOR_IMPORTERS_COMMON_ASYNC_TRACK_SET_TRACKER_H_
diff --git a/src/trace_processor/importers/proto/async_track_set_tracker_unittest.cc b/src/trace_processor/importers/common/async_track_set_tracker_unittest.cc
similarity index 98%
rename from src/trace_processor/importers/proto/async_track_set_tracker_unittest.cc
rename to src/trace_processor/importers/common/async_track_set_tracker_unittest.cc
index 5e8afa7..b10aec8 100644
--- a/src/trace_processor/importers/proto/async_track_set_tracker_unittest.cc
+++ b/src/trace_processor/importers/common/async_track_set_tracker_unittest.cc
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "src/trace_processor/importers/proto/async_track_set_tracker.h"
+#include "src/trace_processor/importers/common/async_track_set_tracker.h"
 
 #include "src/trace_processor/importers/common/args_tracker.h"
 #include "src/trace_processor/importers/common/global_args_tracker.h"
diff --git a/src/trace_processor/importers/ftrace/BUILD.gn b/src/trace_processor/importers/ftrace/BUILD.gn
new file mode 100644
index 0000000..6993f29
--- /dev/null
+++ b/src/trace_processor/importers/ftrace/BUILD.gn
@@ -0,0 +1,84 @@
+# Copyright (C) 2022 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.
+
+source_set("minimal") {
+  sources = [
+    "ftrace_module.cc",
+    "ftrace_module.h",
+  ]
+  deps = [
+    "../../../../gn:default_deps",
+    "../common:parser_types",
+    "../common:trace_parser_hdr",
+    "../proto:proto_importer_module",
+  ]
+}
+
+source_set("full") {
+  sources = [
+    "binder_tracker.cc",
+    "binder_tracker.h",
+    "drm_tracker.cc",
+    "drm_tracker.h",
+    "ftrace_module_impl.cc",
+    "ftrace_module_impl.h",
+    "ftrace_parser.cc",
+    "ftrace_parser.h",
+    "ftrace_tokenizer.cc",
+    "ftrace_tokenizer.h",
+    "iostat_tracker.cc",
+    "iostat_tracker.h",
+    "rss_stat_tracker.cc",
+    "rss_stat_tracker.h",
+    "sched_event_tracker.cc",
+    "sched_event_tracker.h",
+    "thread_state_tracker.cc",
+    "thread_state_tracker.h",
+    "v4l2_tracker.cc",
+    "v4l2_tracker.h",
+    "virtio_video_tracker.cc",
+    "virtio_video_tracker.h",
+  ]
+  deps = [
+    ":ftrace_descriptors",
+    ":minimal",
+    "../../../../gn:default_deps",
+    "../../../../protos/perfetto/common:zero",
+    "../../../../protos/perfetto/trace:zero",
+    "../../../../protos/perfetto/trace/ftrace:zero",
+    "../../../../protos/perfetto/trace/interned_data:zero",
+    "../../../protozero",
+    "../../sorter",
+    "../../storage",
+    "../../types",
+    "../common",
+    "../common:parser_types",
+    "../i2c:full",
+    "../proto:minimal",
+    "../syscalls:full",
+    "../systrace:systrace_parser",
+  ]
+}
+
+source_set("ftrace_descriptors") {
+  sources = [
+    "ftrace_descriptors.cc",
+    "ftrace_descriptors.h",
+  ]
+  deps = [
+    "../../../../gn:default_deps",
+    "../../../../include/perfetto/ext/base:base",
+    "../../../protozero",
+  ]
+}
diff --git a/src/trace_processor/importers/ftrace/ftrace_parser.cc b/src/trace_processor/importers/ftrace/ftrace_parser.cc
index 9035823..65ba5b8 100644
--- a/src/trace_processor/importers/ftrace/ftrace_parser.cc
+++ b/src/trace_processor/importers/ftrace/ftrace_parser.cc
@@ -21,6 +21,7 @@
 #include "perfetto/ext/base/string_writer.h"
 #include "perfetto/protozero/proto_decoder.h"
 #include "src/trace_processor/importers/common/args_tracker.h"
+#include "src/trace_processor/importers/common/async_track_set_tracker.h"
 #include "src/trace_processor/importers/common/parser_types.h"
 #include "src/trace_processor/importers/common/process_tracker.h"
 #include "src/trace_processor/importers/ftrace/binder_tracker.h"
@@ -28,7 +29,6 @@
 #include "src/trace_processor/importers/ftrace/v4l2_tracker.h"
 #include "src/trace_processor/importers/ftrace/virtio_video_tracker.h"
 #include "src/trace_processor/importers/i2c/i2c_tracker.h"
-#include "src/trace_processor/importers/proto/async_track_set_tracker.h"
 #include "src/trace_processor/importers/proto/metadata_tracker.h"
 #include "src/trace_processor/importers/proto/packet_sequence_state.h"
 #include "src/trace_processor/importers/syscalls/syscall_tracker.h"
diff --git a/src/trace_processor/importers/ftrace/virtio_video_tracker.cc b/src/trace_processor/importers/ftrace/virtio_video_tracker.cc
index 8c932b5..8cbdfae 100644
--- a/src/trace_processor/importers/ftrace/virtio_video_tracker.cc
+++ b/src/trace_processor/importers/ftrace/virtio_video_tracker.cc
@@ -23,9 +23,9 @@
 #include "perfetto/ext/base/string_utils.h"
 #include "perfetto/protozero/field.h"
 #include "src/trace_processor/importers/common/args_tracker.h"
+#include "src/trace_processor/importers/common/async_track_set_tracker.h"
 #include "src/trace_processor/importers/common/slice_tracker.h"
 #include "src/trace_processor/importers/ftrace/virtio_video_tracker.h"
-#include "src/trace_processor/importers/proto/async_track_set_tracker.h"
 
 #include "protos/perfetto/trace/ftrace/ftrace_event.pbzero.h"
 #include "protos/perfetto/trace/ftrace/virtio_video.pbzero.h"
diff --git a/src/trace_processor/importers/ftrace/virtio_video_tracker.h b/src/trace_processor/importers/ftrace/virtio_video_tracker.h
index f8c67d0..0ec0069 100644
--- a/src/trace_processor/importers/ftrace/virtio_video_tracker.h
+++ b/src/trace_processor/importers/ftrace/virtio_video_tracker.h
@@ -24,7 +24,7 @@
 #include "perfetto/protozero/field.h"
 #include "protos/perfetto/trace/ftrace/virtio_video.pbzero.h"
 #include "src/trace_processor/importers/common/args_tracker.h"
-#include "src/trace_processor/importers/proto/async_track_set_tracker.h"
+#include "src/trace_processor/importers/common/async_track_set_tracker.h"
 #include "src/trace_processor/storage/trace_storage.h"
 #include "src/trace_processor/types/destructible.h"
 #include "src/trace_processor/types/trace_processor_context.h"
diff --git a/src/trace_processor/importers/i2c/BUILD.gn b/src/trace_processor/importers/i2c/BUILD.gn
new file mode 100644
index 0000000..6b47a4b
--- /dev/null
+++ b/src/trace_processor/importers/i2c/BUILD.gn
@@ -0,0 +1,27 @@
+# Copyright (C) 2022 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.
+
+source_set("full") {
+  sources = [
+    "i2c_tracker.cc",
+    "i2c_tracker.h",
+  ]
+  deps = [
+    "../../../../gn:default_deps",
+    "../../sorter",
+    "../../storage",
+    "../../types",
+    "../common",
+  ]
+}
diff --git a/src/trace_processor/importers/json/BUILD.gn b/src/trace_processor/importers/json/BUILD.gn
new file mode 100644
index 0000000..a995e23
--- /dev/null
+++ b/src/trace_processor/importers/json/BUILD.gn
@@ -0,0 +1,29 @@
+# Copyright (C) 2022 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("minimal") {
+  sources = [
+    "json_utils.cc",
+    "json_utils.h",
+  ]
+  deps = [
+    "../../../../gn:default_deps",
+    "../common",
+  ]
+  if (enable_perfetto_trace_processor_json) {
+    public_deps = [ "../../../../gn:jsoncpp" ]
+  }
+}
diff --git a/src/trace_processor/importers/json/json_trace_tokenizer.h b/src/trace_processor/importers/json/json_trace_tokenizer.h
index bf3cdac..3713636 100644
--- a/src/trace_processor/importers/json/json_trace_tokenizer.h
+++ b/src/trace_processor/importers/json/json_trace_tokenizer.h
@@ -20,7 +20,6 @@
 #include <stdint.h>
 
 #include "src/trace_processor/importers/common/chunked_trace_reader.h"
-#include "src/trace_processor/importers/json/json_utils.h"
 #include "src/trace_processor/importers/systrace/systrace_line_tokenizer.h"
 #include "src/trace_processor/storage/trace_storage.h"
 
diff --git a/src/trace_processor/importers/proto/BUILD.gn b/src/trace_processor/importers/proto/BUILD.gn
index 008ccbb..61c4747 100644
--- a/src/trace_processor/importers/proto/BUILD.gn
+++ b/src/trace_processor/importers/proto/BUILD.gn
@@ -18,59 +18,148 @@
   sources = [
     "active_chrome_processes_tracker.cc",
     "active_chrome_processes_tracker.h",
-    "async_track_set_tracker.cc",
-    "async_track_set_tracker.h",
     "chrome_string_lookup.cc",
     "chrome_string_lookup.h",
+    "chrome_system_probes_module.cc",
+    "chrome_system_probes_module.h",
+    "chrome_system_probes_parser.cc",
+    "chrome_system_probes_parser.h",
     "heap_profile_tracker.cc",
     "heap_profile_tracker.h",
+    "memory_tracker_snapshot_module.cc",
+    "memory_tracker_snapshot_module.h",
+    "memory_tracker_snapshot_parser.cc",
+    "memory_tracker_snapshot_parser.h",
     "metadata_minimal_module.cc",
     "metadata_minimal_module.h",
     "metadata_tracker.cc",
     "metadata_tracker.h",
     "packet_sequence_state.h",
     "packet_sequence_state_generation.cc",
+    "perf_sample_tracker.cc",
+    "perf_sample_tracker.h",
+    "profile_module.cc",
+    "profile_module.h",
+    "profile_packet_utils.cc",
+    "profile_packet_utils.h",
     "profiler_util.cc",
     "profiler_util.h",
-    "proto_importer_module.cc",
-    "proto_importer_module.h",
+    "proto_incremental_state.h",
+    "proto_trace_parser.cc",
+    "proto_trace_parser.h",
+    "proto_trace_reader.cc",
+    "proto_trace_reader.h",
+    "proto_trace_tokenizer.cc",
+    "proto_trace_tokenizer.h",
     "stack_profile_tracker.cc",
     "stack_profile_tracker.h",
+    "track_event_module.cc",
+    "track_event_module.h",
+    "track_event_parser.cc",
+    "track_event_parser.h",
+    "track_event_tokenizer.cc",
+    "track_event_tokenizer.h",
+    "track_event_tracker.cc",
+    "track_event_tracker.h",
   ]
+  public_deps = [ ":proto_importer_module" ]
   deps = [
     ":packet_sequence_state_generation_hdr",
     "../../../../gn:default_deps",
+    "../../../../protos/perfetto/common:zero",
+    "../../../../protos/perfetto/config:zero",
     "../../../../protos/perfetto/trace:zero",
+    "../../../../protos/perfetto/trace:zero",
+    "../../../../protos/perfetto/trace/android:zero",
     "../../../../protos/perfetto/trace/chrome:zero",
+    "../../../../protos/perfetto/trace/ftrace:zero",
+    "../../../../protos/perfetto/trace/interned_data:zero",
+    "../../../../protos/perfetto/trace/perfetto:zero",
+    "../../../../protos/perfetto/trace/power:zero",
     "../../../../protos/perfetto/trace/profiling:zero",
+    "../../../../protos/perfetto/trace/ps:zero",
+    "../../../../protos/perfetto/trace/sys_stats:zero",
+    "../../../../protos/perfetto/trace/system_info:zero",
     "../../../../protos/perfetto/trace/track_event:zero",
+    "../../../../protos/perfetto/trace/translation:zero",
     "../../../base",
+    "../../../protozero",
+    "../../containers",
+    "../../sorter",
     "../../storage",
     "../../tables",
     "../../types",
+    "../../util:gzip",
     "../../util:stack_traces_util",
     "../common",
+    "../common:parser_types",
+    "../ftrace:minimal",
+    "../json:minimal",
+    "../memory_tracker:graph_processor",
   ]
 }
 
 source_set("full") {
   sources = [
+    "android_camera_event_module.cc",
+    "android_camera_event_module.h",
+    "android_probes_module.cc",
+    "android_probes_module.h",
+    "android_probes_parser.cc",
+    "android_probes_parser.h",
+    "android_probes_tracker.cc",
+    "android_probes_tracker.h",
+    "content_analyzer.cc",
+    "content_analyzer.h",
+    "frame_timeline_event_parser.cc",
+    "frame_timeline_event_parser.h",
+    "gpu_event_parser.cc",
+    "gpu_event_parser.h",
+    "graphics_event_module.cc",
+    "graphics_event_module.h",
+    "graphics_frame_event_parser.cc",
+    "graphics_frame_event_parser.h",
+    "heap_graph_module.cc",
+    "heap_graph_module.h",
     "heap_graph_tracker.cc",
     "heap_graph_tracker.h",
     "metadata_module.cc",
     "metadata_module.h",
     "statsd_module.cc",
     "statsd_module.h",
+    "system_probes_module.cc",
+    "system_probes_module.h",
+    "system_probes_parser.cc",
+    "system_probes_parser.h",
+    "translation_table_module.cc",
+    "translation_table_module.h",
+    "vulkan_memory_tracker.cc",
+    "vulkan_memory_tracker.h",
   ]
   deps = [
     ":gen_cc_statsd_atoms_descriptor",
+    ":gen_cc_trace_descriptor",
     ":minimal",
     "../../../../gn:default_deps",
+    "../../../../include/perfetto/ext/traced:sys_stats_counters",
+    "../../../../protos/perfetto/common:zero",
+    "../../../../protos/perfetto/config:zero",
     "../../../../protos/perfetto/config:zero",
     "../../../../protos/perfetto/trace:zero",
+    "../../../../protos/perfetto/trace:zero",
+    "../../../../protos/perfetto/trace/android:zero",
+    "../../../../protos/perfetto/trace/gpu:zero",
+    "../../../../protos/perfetto/trace/interned_data:zero",
+    "../../../../protos/perfetto/trace/power:zero",
     "../../../../protos/perfetto/trace/profiling: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/translation:zero",
     "../../../base",
+    "../../../protozero",
     "../../sorter",
     "../../storage",
     "../../tables",
@@ -79,6 +168,21 @@
     "../../util:proto_profiler",
     "../../util:proto_to_args_parser",
     "../common",
+    "../common:parser_types",
+    "../syscalls:full",
+  ]
+}
+
+source_set("proto_importer_module") {
+  sources = [
+    "proto_importer_module.cc",
+    "proto_importer_module.h",
+  ]
+  deps = [
+    "../../../../gn:default_deps",
+    "../../../base",
+    "../../types",
+    "../common:trace_parser_hdr",
   ]
 }
 
@@ -98,6 +202,11 @@
   descriptor_path = "atoms.descriptor"
 }
 
+perfetto_cc_proto_descriptor("gen_cc_trace_descriptor") {
+  descriptor_name = "trace.descriptor"
+  descriptor_target = "../../../../protos/perfetto/trace:descriptor"
+}
+
 source_set("unittests") {
   testonly = true
   sources = [
diff --git a/src/trace_processor/importers/proto/android_camera_event_module.cc b/src/trace_processor/importers/proto/android_camera_event_module.cc
index 7d52938..1fdddd1 100644
--- a/src/trace_processor/importers/proto/android_camera_event_module.cc
+++ b/src/trace_processor/importers/proto/android_camera_event_module.cc
@@ -19,10 +19,10 @@
 #include "perfetto/ext/base/string_utils.h"
 #include "protos/perfetto/trace/android/camera_event.pbzero.h"
 #include "protos/perfetto/trace/trace_packet.pbzero.h"
+#include "src/trace_processor/importers/common/async_track_set_tracker.h"
 #include "src/trace_processor/importers/common/parser_types.h"
 #include "src/trace_processor/importers/common/slice_tracker.h"
 #include "src/trace_processor/importers/common/track_tracker.h"
-#include "src/trace_processor/importers/proto/async_track_set_tracker.h"
 #include "src/trace_processor/importers/proto/packet_sequence_state.h"
 #include "src/trace_processor/sorter/trace_sorter.h"
 #include "src/trace_processor/storage/trace_storage.h"
diff --git a/src/trace_processor/importers/proto/android_probes_parser.cc b/src/trace_processor/importers/proto/android_probes_parser.cc
index 65277be..2539377 100644
--- a/src/trace_processor/importers/proto/android_probes_parser.cc
+++ b/src/trace_processor/importers/proto/android_probes_parser.cc
@@ -20,10 +20,10 @@
 #include "perfetto/ext/base/string_utils.h"
 #include "perfetto/ext/traced/sys_stats_counters.h"
 #include "src/trace_processor/importers/common/args_tracker.h"
+#include "src/trace_processor/importers/common/async_track_set_tracker.h"
 #include "src/trace_processor/importers/common/clock_tracker.h"
 #include "src/trace_processor/importers/common/event_tracker.h"
 #include "src/trace_processor/importers/common/process_tracker.h"
-#include "src/trace_processor/importers/proto/async_track_set_tracker.h"
 #include "src/trace_processor/importers/proto/metadata_tracker.h"
 #include "src/trace_processor/importers/syscalls/syscall_tracker.h"
 #include "src/trace_processor/types/trace_processor_context.h"
diff --git a/src/trace_processor/importers/proto/content_analyzer.cc b/src/trace_processor/importers/proto/content_analyzer.cc
index 0eaac14..d19f9be 100644
--- a/src/trace_processor/importers/proto/content_analyzer.cc
+++ b/src/trace_processor/importers/proto/content_analyzer.cc
@@ -19,9 +19,10 @@
 
 #include "perfetto/ext/base/string_utils.h"
 #include "src/trace_processor/importers/proto/content_analyzer.h"
-#include "src/trace_processor/importers/trace.descriptor.h"
 #include "src/trace_processor/storage/trace_storage.h"
 
+#include "src/trace_processor/importers/proto/trace.descriptor.h"
+
 namespace perfetto {
 namespace trace_processor {
 
diff --git a/src/trace_processor/importers/proto/frame_timeline_event_parser.h b/src/trace_processor/importers/proto/frame_timeline_event_parser.h
index c4e3ee8..9c4e75e 100644
--- a/src/trace_processor/importers/proto/frame_timeline_event_parser.h
+++ b/src/trace_processor/importers/proto/frame_timeline_event_parser.h
@@ -19,7 +19,7 @@
 
 #include "perfetto/protozero/field.h"
 #include "src/trace_processor/importers/common/args_tracker.h"
-#include "src/trace_processor/importers/proto/async_track_set_tracker.h"
+#include "src/trace_processor/importers/common/async_track_set_tracker.h"
 #include "src/trace_processor/importers/proto/proto_incremental_state.h"
 #include "src/trace_processor/storage/trace_storage.h"
 
diff --git a/src/trace_processor/importers/proto/proto_importer_module.h b/src/trace_processor/importers/proto/proto_importer_module.h
index d047de1..3ff56aa 100644
--- a/src/trace_processor/importers/proto/proto_importer_module.h
+++ b/src/trace_processor/importers/proto/proto_importer_module.h
@@ -17,8 +17,8 @@
 #ifndef SRC_TRACE_PROCESSOR_IMPORTERS_PROTO_PROTO_IMPORTER_MODULE_H_
 #define SRC_TRACE_PROCESSOR_IMPORTERS_PROTO_PROTO_IMPORTER_MODULE_H_
 
+#include "perfetto/base/status.h"
 #include "perfetto/ext/base/optional.h"
-#include "perfetto/trace_processor/status.h"
 #include "src/trace_processor/importers/common/trace_parser.h"
 
 namespace perfetto {
@@ -52,7 +52,7 @@
 class ModuleResult {
  public:
   // Allow auto conversion from util::Status to Handled / Error result.
-  ModuleResult(util::Status status)
+  ModuleResult(base::Status status)
       : ignored_(false),
         error_(status.ok() ? base::nullopt
                            : base::make_optional(status.message())) {}
@@ -75,11 +75,11 @@
   bool ok() const { return !error_.has_value(); }
   const std::string& message() const { return *error_; }
 
-  util::Status ToStatus() const {
+  base::Status ToStatus() const {
     PERFETTO_DCHECK(!ignored_);
     if (error_)
-      return util::Status(*error_);
-    return util::OkStatus();
+      return base::Status(*error_);
+    return base::OkStatus();
   }
 
  private:
diff --git a/src/trace_processor/importers/proto/statsd_module.cc b/src/trace_processor/importers/proto/statsd_module.cc
index 7cae811..555ccaa 100644
--- a/src/trace_processor/importers/proto/statsd_module.cc
+++ b/src/trace_processor/importers/proto/statsd_module.cc
@@ -18,9 +18,9 @@
 #include "perfetto/ext/base/string_utils.h"
 #include "protos/perfetto/trace/statsd/statsd_atom.pbzero.h"
 #include "protos/perfetto/trace/trace_packet.pbzero.h"
+#include "src/trace_processor/importers/common/async_track_set_tracker.h"
 #include "src/trace_processor/importers/common/slice_tracker.h"
 #include "src/trace_processor/importers/common/track_tracker.h"
-#include "src/trace_processor/importers/proto/async_track_set_tracker.h"
 #include "src/trace_processor/sorter/trace_sorter.h"
 #include "src/trace_processor/storage/trace_storage.h"
 #include "src/trace_processor/util/descriptors.h"
diff --git a/src/trace_processor/importers/proto/statsd_module.h b/src/trace_processor/importers/proto/statsd_module.h
index fceeee5..b01559e 100644
--- a/src/trace_processor/importers/proto/statsd_module.h
+++ b/src/trace_processor/importers/proto/statsd_module.h
@@ -22,8 +22,8 @@
 #include "perfetto/ext/base/flat_hash_map.h"
 #include "perfetto/ext/base/optional.h"
 #include "protos/perfetto/trace/trace_packet.pbzero.h"
+#include "src/trace_processor/importers/common/async_track_set_tracker.h"
 #include "src/trace_processor/importers/common/trace_parser.h"
-#include "src/trace_processor/importers/proto/async_track_set_tracker.h"
 #include "src/trace_processor/importers/proto/proto_importer_module.h"
 #include "src/trace_processor/storage/trace_storage.h"
 #include "src/trace_processor/tables/slice_tables.h"
diff --git a/src/trace_processor/importers/syscalls/BUILD.gn b/src/trace_processor/importers/syscalls/BUILD.gn
new file mode 100644
index 0000000..c2f42a9
--- /dev/null
+++ b/src/trace_processor/importers/syscalls/BUILD.gn
@@ -0,0 +1,28 @@
+# Copyright (C) 2022 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.
+
+source_set("full") {
+  sources = [
+    "syscall_tracker.cc",
+    "syscall_tracker.h",
+  ]
+  deps = [
+    "../../../../gn:default_deps",
+    "../../../kernel_utils:syscall_table",
+    "../../containers",
+    "../../storage",
+    "../../types",
+    "../common",
+  ]
+}
diff --git a/src/trace_processor/importers/systrace/BUILD.gn b/src/trace_processor/importers/systrace/BUILD.gn
index 28f82ba..645b5ff 100644
--- a/src/trace_processor/importers/systrace/BUILD.gn
+++ b/src/trace_processor/importers/systrace/BUILD.gn
@@ -19,3 +19,17 @@
     "../../containers",
   ]
 }
+
+source_set("systrace_parser") {
+  sources = [
+    "systrace_parser.cc",
+    "systrace_parser.h",
+  ]
+  deps = [
+    "../../../../gn:default_deps",
+    "../../containers",
+    "../../storage",
+    "../../types",
+    "../common",
+  ]
+}
diff --git a/src/trace_processor/importers/systrace/systrace_parser.cc b/src/trace_processor/importers/systrace/systrace_parser.cc
index 9370f7e..538278d 100644
--- a/src/trace_processor/importers/systrace/systrace_parser.cc
+++ b/src/trace_processor/importers/systrace/systrace_parser.cc
@@ -18,11 +18,11 @@
 
 #include "perfetto/ext/base/optional.h"
 #include "perfetto/ext/base/string_utils.h"
+#include "src/trace_processor/importers/common/async_track_set_tracker.h"
 #include "src/trace_processor/importers/common/event_tracker.h"
 #include "src/trace_processor/importers/common/process_tracker.h"
 #include "src/trace_processor/importers/common/slice_tracker.h"
 #include "src/trace_processor/importers/common/track_tracker.h"
-#include "src/trace_processor/importers/proto/async_track_set_tracker.h"
 #include "src/trace_processor/storage/trace_storage.h"
 
 namespace perfetto {
diff --git a/src/trace_processor/sqlite/BUILD.gn b/src/trace_processor/sqlite/BUILD.gn
index 0e63e54..64df6d9 100644
--- a/src/trace_processor/sqlite/BUILD.gn
+++ b/src/trace_processor/sqlite/BUILD.gn
@@ -42,8 +42,8 @@
       "../containers",
       "../db",
       "../dynamic",
-      "../importers:ftrace_descriptors",
       "../importers/common",
+      "../importers/ftrace:ftrace_descriptors",
       "../storage",
       "../types",
       "../util",
diff --git a/src/trace_processor/sqlite/functions/BUILD.gn b/src/trace_processor/sqlite/functions/BUILD.gn
index aa9a953..0aa04da 100644
--- a/src/trace_processor/sqlite/functions/BUILD.gn
+++ b/src/trace_processor/sqlite/functions/BUILD.gn
@@ -46,8 +46,8 @@
       "../../containers",
       "../../db",
       "../../dynamic",
-      "../../importers:ftrace_descriptors",
       "../../importers/common",
+      "../../importers/ftrace:ftrace_descriptors",
       "../../storage",
       "../../types",
       "../../util",
diff --git a/src/trace_processor/trace_processor_context.cc b/src/trace_processor/trace_processor_context.cc
index c9c2774..29fa474 100644
--- a/src/trace_processor/trace_processor_context.cc
+++ b/src/trace_processor/trace_processor_context.cc
@@ -19,6 +19,7 @@
 #include "src/trace_processor/forwarding_trace_parser.h"
 #include "src/trace_processor/importers/common/args_tracker.h"
 #include "src/trace_processor/importers/common/args_translation_table.h"
+#include "src/trace_processor/importers/common/async_track_set_tracker.h"
 #include "src/trace_processor/importers/common/chunked_trace_reader.h"
 #include "src/trace_processor/importers/common/clock_tracker.h"
 #include "src/trace_processor/importers/common/deobfuscation_mapping_table.h"
@@ -30,7 +31,6 @@
 #include "src/trace_processor/importers/common/slice_translation_table.h"
 #include "src/trace_processor/importers/common/track_tracker.h"
 #include "src/trace_processor/importers/ftrace/ftrace_module.h"
-#include "src/trace_processor/importers/proto/async_track_set_tracker.h"
 #include "src/trace_processor/importers/proto/heap_profile_tracker.h"
 #include "src/trace_processor/importers/proto/metadata_tracker.h"
 #include "src/trace_processor/importers/proto/perf_sample_tracker.h"
diff --git a/src/trace_processor/trace_processor_impl.cc b/src/trace_processor/trace_processor_impl.cc
index 871eb52..518d63b 100644
--- a/src/trace_processor/trace_processor_impl.cc
+++ b/src/trace_processor/trace_processor_impl.cc
@@ -49,6 +49,7 @@
 #include "src/trace_processor/importers/gzip/gzip_trace_parser.h"
 #include "src/trace_processor/importers/json/json_trace_parser.h"
 #include "src/trace_processor/importers/json/json_trace_tokenizer.h"
+#include "src/trace_processor/importers/json/json_utils.h"
 #include "src/trace_processor/importers/ninja/ninja_log_parser.h"
 #include "src/trace_processor/importers/proto/metadata_tracker.h"
 #include "src/trace_processor/importers/systrace/systrace_trace_parser.h"
diff --git a/src/trace_processor/trace_processor_storage_impl.cc b/src/trace_processor/trace_processor_storage_impl.cc
index 11a955d..57ce2e4 100644
--- a/src/trace_processor/trace_processor_storage_impl.cc
+++ b/src/trace_processor/trace_processor_storage_impl.cc
@@ -22,6 +22,7 @@
 #include "src/trace_processor/importers/chrome_track_event.descriptor.h"
 #include "src/trace_processor/importers/common/args_tracker.h"
 #include "src/trace_processor/importers/common/args_translation_table.h"
+#include "src/trace_processor/importers/common/async_track_set_tracker.h"
 #include "src/trace_processor/importers/common/clock_tracker.h"
 #include "src/trace_processor/importers/common/event_tracker.h"
 #include "src/trace_processor/importers/common/flow_tracker.h"
@@ -30,7 +31,6 @@
 #include "src/trace_processor/importers/common/slice_translation_table.h"
 #include "src/trace_processor/importers/common/track_tracker.h"
 #include "src/trace_processor/importers/default_modules.h"
-#include "src/trace_processor/importers/proto/async_track_set_tracker.h"
 #include "src/trace_processor/importers/proto/heap_profile_tracker.h"
 #include "src/trace_processor/importers/proto/metadata_tracker.h"
 #include "src/trace_processor/importers/proto/perf_sample_tracker.h"