Further minor GN & scripts cleanups

Some other minor cleanups in preparation of bigger refactoring
CLs. It mainly cleans up some overlap of minimal / non-minimal
protos, missing .h and minor python scripts stuff.

Bug: 132678367
Change-Id: Id1bf14c07bf99fc4982e6c5990451561a69d0b45
diff --git a/Android.bp b/Android.bp
index 83ca36b..65bb922 100644
--- a/Android.bp
+++ b/Android.bp
@@ -80,6 +80,8 @@
     ":perfetto_protos_perfetto_trace_gpu_zero_gen",
     ":perfetto_protos_perfetto_trace_interned_data_zero_gen",
     ":perfetto_protos_perfetto_trace_minimal_lite_gen",
+    ":perfetto_protos_perfetto_trace_minimal_zero_gen",
+    ":perfetto_protos_perfetto_trace_non_minimal_zero_gen",
     ":perfetto_protos_perfetto_trace_perfetto_zero_gen",
     ":perfetto_protos_perfetto_trace_power_zero_gen",
     ":perfetto_protos_perfetto_trace_profiling_zero_gen",
@@ -87,7 +89,6 @@
     ":perfetto_protos_perfetto_trace_sys_stats_zero_gen",
     ":perfetto_protos_perfetto_trace_track_event_zero_gen",
     ":perfetto_protos_perfetto_trace_trusted_lite_gen",
-    ":perfetto_protos_perfetto_trace_zero_gen",
     ":perfetto_src_ipc_wire_protocol_gen",
     "src/base/event_fd.cc",
     "src/base/file_utils.cc",
@@ -199,6 +200,8 @@
     "perfetto_protos_perfetto_trace_gpu_zero_gen_headers",
     "perfetto_protos_perfetto_trace_interned_data_zero_gen_headers",
     "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
+    "perfetto_protos_perfetto_trace_minimal_zero_gen_headers",
+    "perfetto_protos_perfetto_trace_non_minimal_zero_gen_headers",
     "perfetto_protos_perfetto_trace_perfetto_zero_gen_headers",
     "perfetto_protos_perfetto_trace_power_zero_gen_headers",
     "perfetto_protos_perfetto_trace_profiling_zero_gen_headers",
@@ -206,7 +209,6 @@
     "perfetto_protos_perfetto_trace_sys_stats_zero_gen_headers",
     "perfetto_protos_perfetto_trace_track_event_zero_gen_headers",
     "perfetto_protos_perfetto_trace_trusted_lite_gen_headers",
-    "perfetto_protos_perfetto_trace_zero_gen_headers",
     "perfetto_src_ipc_wire_protocol_gen_headers",
   ],
   defaults: [
@@ -302,6 +304,8 @@
     ":perfetto_protos_perfetto_trace_gpu_zero_gen",
     ":perfetto_protos_perfetto_trace_interned_data_zero_gen",
     ":perfetto_protos_perfetto_trace_minimal_lite_gen",
+    ":perfetto_protos_perfetto_trace_minimal_zero_gen",
+    ":perfetto_protos_perfetto_trace_non_minimal_zero_gen",
     ":perfetto_protos_perfetto_trace_perfetto_zero_gen",
     ":perfetto_protos_perfetto_trace_power_zero_gen",
     ":perfetto_protos_perfetto_trace_profiling_zero_gen",
@@ -309,7 +313,6 @@
     ":perfetto_protos_perfetto_trace_sys_stats_zero_gen",
     ":perfetto_protos_perfetto_trace_track_event_zero_gen",
     ":perfetto_protos_perfetto_trace_trusted_lite_gen",
-    ":perfetto_protos_perfetto_trace_zero_gen",
     ":perfetto_src_ipc_wire_protocol_gen",
     "src/android_internal/lazy_library_loader.cc",
     "src/base/event_fd.cc",
@@ -441,6 +444,8 @@
     "perfetto_protos_perfetto_trace_gpu_zero_gen_headers",
     "perfetto_protos_perfetto_trace_interned_data_zero_gen_headers",
     "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
+    "perfetto_protos_perfetto_trace_minimal_zero_gen_headers",
+    "perfetto_protos_perfetto_trace_non_minimal_zero_gen_headers",
     "perfetto_protos_perfetto_trace_perfetto_zero_gen_headers",
     "perfetto_protos_perfetto_trace_power_zero_gen_headers",
     "perfetto_protos_perfetto_trace_profiling_zero_gen_headers",
@@ -448,7 +453,6 @@
     "perfetto_protos_perfetto_trace_sys_stats_zero_gen_headers",
     "perfetto_protos_perfetto_trace_track_event_zero_gen_headers",
     "perfetto_protos_perfetto_trace_trusted_lite_gen_headers",
-    "perfetto_protos_perfetto_trace_zero_gen_headers",
     "perfetto_src_ipc_wire_protocol_gen_headers",
   ],
   defaults: [
@@ -531,6 +535,8 @@
     ":perfetto_protos_perfetto_trace_gpu_zero_gen",
     ":perfetto_protos_perfetto_trace_interned_data_zero_gen",
     ":perfetto_protos_perfetto_trace_minimal_lite_gen",
+    ":perfetto_protos_perfetto_trace_minimal_zero_gen",
+    ":perfetto_protos_perfetto_trace_non_minimal_zero_gen",
     ":perfetto_protos_perfetto_trace_perfetto_zero_gen",
     ":perfetto_protos_perfetto_trace_power_zero_gen",
     ":perfetto_protos_perfetto_trace_profiling_zero_gen",
@@ -538,7 +544,6 @@
     ":perfetto_protos_perfetto_trace_sys_stats_zero_gen",
     ":perfetto_protos_perfetto_trace_track_event_zero_gen",
     ":perfetto_protos_perfetto_trace_trusted_lite_gen",
-    ":perfetto_protos_perfetto_trace_zero_gen",
     ":perfetto_src_ipc_wire_protocol_gen",
     "src/base/event_fd.cc",
     "src/base/file_utils.cc",
@@ -643,6 +648,8 @@
     "perfetto_protos_perfetto_trace_gpu_zero_gen_headers",
     "perfetto_protos_perfetto_trace_interned_data_zero_gen_headers",
     "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
+    "perfetto_protos_perfetto_trace_minimal_zero_gen_headers",
+    "perfetto_protos_perfetto_trace_non_minimal_zero_gen_headers",
     "perfetto_protos_perfetto_trace_perfetto_zero_gen_headers",
     "perfetto_protos_perfetto_trace_power_zero_gen_headers",
     "perfetto_protos_perfetto_trace_profiling_zero_gen_headers",
@@ -650,7 +657,6 @@
     "perfetto_protos_perfetto_trace_sys_stats_zero_gen_headers",
     "perfetto_protos_perfetto_trace_track_event_zero_gen_headers",
     "perfetto_protos_perfetto_trace_trusted_lite_gen_headers",
-    "perfetto_protos_perfetto_trace_zero_gen_headers",
     "perfetto_src_ipc_wire_protocol_gen_headers",
   ],
   export_generated_headers: [
@@ -682,6 +688,8 @@
     "perfetto_protos_perfetto_trace_gpu_zero_gen_headers",
     "perfetto_protos_perfetto_trace_interned_data_zero_gen_headers",
     "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
+    "perfetto_protos_perfetto_trace_minimal_zero_gen_headers",
+    "perfetto_protos_perfetto_trace_non_minimal_zero_gen_headers",
     "perfetto_protos_perfetto_trace_perfetto_zero_gen_headers",
     "perfetto_protos_perfetto_trace_power_zero_gen_headers",
     "perfetto_protos_perfetto_trace_profiling_zero_gen_headers",
@@ -689,7 +697,6 @@
     "perfetto_protos_perfetto_trace_sys_stats_zero_gen_headers",
     "perfetto_protos_perfetto_trace_track_event_zero_gen_headers",
     "perfetto_protos_perfetto_trace_trusted_lite_gen_headers",
-    "perfetto_protos_perfetto_trace_zero_gen_headers",
     "perfetto_src_ipc_wire_protocol_gen_headers",
   ],
   defaults: [
@@ -733,6 +740,8 @@
     ":perfetto_protos_perfetto_trace_gpu_zero_gen",
     ":perfetto_protos_perfetto_trace_interned_data_zero_gen",
     ":perfetto_protos_perfetto_trace_minimal_lite_gen",
+    ":perfetto_protos_perfetto_trace_minimal_zero_gen",
+    ":perfetto_protos_perfetto_trace_non_minimal_zero_gen",
     ":perfetto_protos_perfetto_trace_perfetto_zero_gen",
     ":perfetto_protos_perfetto_trace_power_zero_gen",
     ":perfetto_protos_perfetto_trace_profiling_zero_gen",
@@ -740,7 +749,6 @@
     ":perfetto_protos_perfetto_trace_sys_stats_zero_gen",
     ":perfetto_protos_perfetto_trace_track_event_zero_gen",
     ":perfetto_protos_perfetto_trace_trusted_lite_gen",
-    ":perfetto_protos_perfetto_trace_zero_gen",
     ":perfetto_src_ipc_wire_protocol_gen",
     ":perfetto_src_perfetto_cmd_protos_gen",
     "src/android_internal/lazy_library_loader.cc",
@@ -844,6 +852,8 @@
     "perfetto_protos_perfetto_trace_gpu_zero_gen_headers",
     "perfetto_protos_perfetto_trace_interned_data_zero_gen_headers",
     "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
+    "perfetto_protos_perfetto_trace_minimal_zero_gen_headers",
+    "perfetto_protos_perfetto_trace_non_minimal_zero_gen_headers",
     "perfetto_protos_perfetto_trace_perfetto_zero_gen_headers",
     "perfetto_protos_perfetto_trace_power_zero_gen_headers",
     "perfetto_protos_perfetto_trace_profiling_zero_gen_headers",
@@ -851,7 +861,6 @@
     "perfetto_protos_perfetto_trace_sys_stats_zero_gen_headers",
     "perfetto_protos_perfetto_trace_track_event_zero_gen_headers",
     "perfetto_protos_perfetto_trace_trusted_lite_gen_headers",
-    "perfetto_protos_perfetto_trace_zero_gen_headers",
     "perfetto_src_ipc_wire_protocol_gen_headers",
     "perfetto_src_perfetto_cmd_protos_gen_headers",
   ],
@@ -931,8 +940,10 @@
     ":perfetto_protos_perfetto_trace_gpu_zero_gen",
     ":perfetto_protos_perfetto_trace_interned_data_lite_gen",
     ":perfetto_protos_perfetto_trace_interned_data_zero_gen",
-    ":perfetto_protos_perfetto_trace_lite_gen",
     ":perfetto_protos_perfetto_trace_minimal_lite_gen",
+    ":perfetto_protos_perfetto_trace_minimal_zero_gen",
+    ":perfetto_protos_perfetto_trace_non_minimal_lite_gen",
+    ":perfetto_protos_perfetto_trace_non_minimal_zero_gen",
     ":perfetto_protos_perfetto_trace_perfetto_lite_gen",
     ":perfetto_protos_perfetto_trace_perfetto_zero_gen",
     ":perfetto_protos_perfetto_trace_power_lite_gen",
@@ -946,7 +957,6 @@
     ":perfetto_protos_perfetto_trace_track_event_lite_gen",
     ":perfetto_protos_perfetto_trace_track_event_zero_gen",
     ":perfetto_protos_perfetto_trace_trusted_lite_gen",
-    ":perfetto_protos_perfetto_trace_zero_gen",
     ":perfetto_src_ipc_wire_protocol_gen",
     "src/android_internal/lazy_library_loader.cc",
     "src/base/event_fd.cc",
@@ -1115,8 +1125,10 @@
     "perfetto_protos_perfetto_trace_gpu_zero_gen_headers",
     "perfetto_protos_perfetto_trace_interned_data_lite_gen_headers",
     "perfetto_protos_perfetto_trace_interned_data_zero_gen_headers",
-    "perfetto_protos_perfetto_trace_lite_gen_headers",
     "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
+    "perfetto_protos_perfetto_trace_minimal_zero_gen_headers",
+    "perfetto_protos_perfetto_trace_non_minimal_lite_gen_headers",
+    "perfetto_protos_perfetto_trace_non_minimal_zero_gen_headers",
     "perfetto_protos_perfetto_trace_perfetto_lite_gen_headers",
     "perfetto_protos_perfetto_trace_perfetto_zero_gen_headers",
     "perfetto_protos_perfetto_trace_power_lite_gen_headers",
@@ -1130,7 +1142,6 @@
     "perfetto_protos_perfetto_trace_track_event_lite_gen_headers",
     "perfetto_protos_perfetto_trace_track_event_zero_gen_headers",
     "perfetto_protos_perfetto_trace_trusted_lite_gen_headers",
-    "perfetto_protos_perfetto_trace_zero_gen_headers",
     "perfetto_src_ipc_wire_protocol_gen_headers",
   ],
   defaults: [
@@ -2783,51 +2794,6 @@
   ],
 }
 
-// GN target: //protos/perfetto/trace:lite_gen
-genrule {
-  name: "perfetto_protos_perfetto_trace_lite_gen",
-  srcs: [
-    "protos/perfetto/trace/test_event.proto",
-    "protos/perfetto/trace/trace.proto",
-    "protos/perfetto/trace/trace_packet.proto",
-    "protos/perfetto/trace/trace_packet_defaults.proto",
-  ],
-  tools: [
-    "aprotoc",
-  ],
-  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
-  out: [
-    "external/perfetto/protos/perfetto/trace/test_event.pb.cc",
-    "external/perfetto/protos/perfetto/trace/trace.pb.cc",
-    "external/perfetto/protos/perfetto/trace/trace_packet.pb.cc",
-    "external/perfetto/protos/perfetto/trace/trace_packet_defaults.pb.cc",
-  ],
-}
-
-// GN target: //protos/perfetto/trace:lite_gen
-genrule {
-  name: "perfetto_protos_perfetto_trace_lite_gen_headers",
-  srcs: [
-    "protos/perfetto/trace/test_event.proto",
-    "protos/perfetto/trace/trace.proto",
-    "protos/perfetto/trace/trace_packet.proto",
-    "protos/perfetto/trace/trace_packet_defaults.proto",
-  ],
-  tools: [
-    "aprotoc",
-  ],
-  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
-  out: [
-    "external/perfetto/protos/perfetto/trace/test_event.pb.h",
-    "external/perfetto/protos/perfetto/trace/trace.pb.h",
-    "external/perfetto/protos/perfetto/trace/trace_packet.pb.h",
-    "external/perfetto/protos/perfetto/trace/trace_packet_defaults.pb.h",
-  ],
-  export_include_dirs: [
-    "protos",
-  ],
-}
-
 // GN target: //protos/perfetto/trace:minimal_lite_gen
 genrule {
   name: "perfetto_protos_perfetto_trace_minimal_lite_gen",
@@ -2869,6 +2835,141 @@
   ],
 }
 
+// GN target: //protos/perfetto/trace:minimal_zero_gen
+genrule {
+  name: "perfetto_protos_perfetto_trace_minimal_zero_gen",
+  srcs: [
+    "protos/perfetto/trace/clock_snapshot.proto",
+    "protos/perfetto/trace/system_info.proto",
+    "protos/perfetto/trace/trigger.proto",
+  ],
+  tools: [
+    "aprotoc",
+    "perfetto_src_protozero_protoc_plugin_protozero_plugin___gn_standalone_toolchain_gcc_like_host_",
+  ],
+  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protozero_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
+  out: [
+    "external/perfetto/protos/perfetto/trace/clock_snapshot.pbzero.cc",
+    "external/perfetto/protos/perfetto/trace/system_info.pbzero.cc",
+    "external/perfetto/protos/perfetto/trace/trigger.pbzero.cc",
+  ],
+}
+
+// GN target: //protos/perfetto/trace:minimal_zero_gen
+genrule {
+  name: "perfetto_protos_perfetto_trace_minimal_zero_gen_headers",
+  srcs: [
+    "protos/perfetto/trace/clock_snapshot.proto",
+    "protos/perfetto/trace/system_info.proto",
+    "protos/perfetto/trace/trigger.proto",
+  ],
+  tools: [
+    "aprotoc",
+    "perfetto_src_protozero_protoc_plugin_protozero_plugin___gn_standalone_toolchain_gcc_like_host_",
+  ],
+  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protozero_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
+  out: [
+    "external/perfetto/protos/perfetto/trace/clock_snapshot.pbzero.h",
+    "external/perfetto/protos/perfetto/trace/system_info.pbzero.h",
+    "external/perfetto/protos/perfetto/trace/trigger.pbzero.h",
+  ],
+  export_include_dirs: [
+    "protos",
+  ],
+}
+
+// GN target: //protos/perfetto/trace:non_minimal_lite_gen
+genrule {
+  name: "perfetto_protos_perfetto_trace_non_minimal_lite_gen",
+  srcs: [
+    "protos/perfetto/trace/test_event.proto",
+    "protos/perfetto/trace/trace.proto",
+    "protos/perfetto/trace/trace_packet.proto",
+    "protos/perfetto/trace/trace_packet_defaults.proto",
+  ],
+  tools: [
+    "aprotoc",
+  ],
+  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
+  out: [
+    "external/perfetto/protos/perfetto/trace/test_event.pb.cc",
+    "external/perfetto/protos/perfetto/trace/trace.pb.cc",
+    "external/perfetto/protos/perfetto/trace/trace_packet.pb.cc",
+    "external/perfetto/protos/perfetto/trace/trace_packet_defaults.pb.cc",
+  ],
+}
+
+// GN target: //protos/perfetto/trace:non_minimal_lite_gen
+genrule {
+  name: "perfetto_protos_perfetto_trace_non_minimal_lite_gen_headers",
+  srcs: [
+    "protos/perfetto/trace/test_event.proto",
+    "protos/perfetto/trace/trace.proto",
+    "protos/perfetto/trace/trace_packet.proto",
+    "protos/perfetto/trace/trace_packet_defaults.proto",
+  ],
+  tools: [
+    "aprotoc",
+  ],
+  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
+  out: [
+    "external/perfetto/protos/perfetto/trace/test_event.pb.h",
+    "external/perfetto/protos/perfetto/trace/trace.pb.h",
+    "external/perfetto/protos/perfetto/trace/trace_packet.pb.h",
+    "external/perfetto/protos/perfetto/trace/trace_packet_defaults.pb.h",
+  ],
+  export_include_dirs: [
+    "protos",
+  ],
+}
+
+// GN target: //protos/perfetto/trace:non_minimal_zero_gen
+genrule {
+  name: "perfetto_protos_perfetto_trace_non_minimal_zero_gen",
+  srcs: [
+    "protos/perfetto/trace/test_event.proto",
+    "protos/perfetto/trace/trace.proto",
+    "protos/perfetto/trace/trace_packet.proto",
+    "protos/perfetto/trace/trace_packet_defaults.proto",
+  ],
+  tools: [
+    "aprotoc",
+    "perfetto_src_protozero_protoc_plugin_protozero_plugin___gn_standalone_toolchain_gcc_like_host_",
+  ],
+  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protozero_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
+  out: [
+    "external/perfetto/protos/perfetto/trace/test_event.pbzero.cc",
+    "external/perfetto/protos/perfetto/trace/trace.pbzero.cc",
+    "external/perfetto/protos/perfetto/trace/trace_packet.pbzero.cc",
+    "external/perfetto/protos/perfetto/trace/trace_packet_defaults.pbzero.cc",
+  ],
+}
+
+// GN target: //protos/perfetto/trace:non_minimal_zero_gen
+genrule {
+  name: "perfetto_protos_perfetto_trace_non_minimal_zero_gen_headers",
+  srcs: [
+    "protos/perfetto/trace/test_event.proto",
+    "protos/perfetto/trace/trace.proto",
+    "protos/perfetto/trace/trace_packet.proto",
+    "protos/perfetto/trace/trace_packet_defaults.proto",
+  ],
+  tools: [
+    "aprotoc",
+    "perfetto_src_protozero_protoc_plugin_protozero_plugin___gn_standalone_toolchain_gcc_like_host_",
+  ],
+  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protozero_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
+  out: [
+    "external/perfetto/protos/perfetto/trace/test_event.pbzero.h",
+    "external/perfetto/protos/perfetto/trace/trace.pbzero.h",
+    "external/perfetto/protos/perfetto/trace/trace_packet.pbzero.h",
+    "external/perfetto/protos/perfetto/trace/trace_packet_defaults.pbzero.h",
+  ],
+  export_include_dirs: [
+    "protos",
+  ],
+}
+
 // GN target: //protos/perfetto/trace/perfetto:lite_gen
 genrule {
   name: "perfetto_protos_perfetto_trace_perfetto_lite_gen",
@@ -3425,65 +3526,6 @@
   ],
 }
 
-// GN target: //protos/perfetto/trace:zero_gen
-genrule {
-  name: "perfetto_protos_perfetto_trace_zero_gen",
-  srcs: [
-    "protos/perfetto/trace/clock_snapshot.proto",
-    "protos/perfetto/trace/system_info.proto",
-    "protos/perfetto/trace/test_event.proto",
-    "protos/perfetto/trace/trace.proto",
-    "protos/perfetto/trace/trace_packet.proto",
-    "protos/perfetto/trace/trace_packet_defaults.proto",
-    "protos/perfetto/trace/trigger.proto",
-  ],
-  tools: [
-    "aprotoc",
-    "perfetto_src_protozero_protoc_plugin_protozero_plugin___gn_standalone_toolchain_gcc_like_host_",
-  ],
-  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protozero_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
-  out: [
-    "external/perfetto/protos/perfetto/trace/clock_snapshot.pbzero.cc",
-    "external/perfetto/protos/perfetto/trace/system_info.pbzero.cc",
-    "external/perfetto/protos/perfetto/trace/test_event.pbzero.cc",
-    "external/perfetto/protos/perfetto/trace/trace.pbzero.cc",
-    "external/perfetto/protos/perfetto/trace/trace_packet.pbzero.cc",
-    "external/perfetto/protos/perfetto/trace/trace_packet_defaults.pbzero.cc",
-    "external/perfetto/protos/perfetto/trace/trigger.pbzero.cc",
-  ],
-}
-
-// GN target: //protos/perfetto/trace:zero_gen
-genrule {
-  name: "perfetto_protos_perfetto_trace_zero_gen_headers",
-  srcs: [
-    "protos/perfetto/trace/clock_snapshot.proto",
-    "protos/perfetto/trace/system_info.proto",
-    "protos/perfetto/trace/test_event.proto",
-    "protos/perfetto/trace/trace.proto",
-    "protos/perfetto/trace/trace_packet.proto",
-    "protos/perfetto/trace/trace_packet_defaults.proto",
-    "protos/perfetto/trace/trigger.proto",
-  ],
-  tools: [
-    "aprotoc",
-    "perfetto_src_protozero_protoc_plugin_protozero_plugin___gn_standalone_toolchain_gcc_like_host_",
-  ],
-  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protozero_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
-  out: [
-    "external/perfetto/protos/perfetto/trace/clock_snapshot.pbzero.h",
-    "external/perfetto/protos/perfetto/trace/system_info.pbzero.h",
-    "external/perfetto/protos/perfetto/trace/test_event.pbzero.h",
-    "external/perfetto/protos/perfetto/trace/trace.pbzero.h",
-    "external/perfetto/protos/perfetto/trace/trace_packet.pbzero.h",
-    "external/perfetto/protos/perfetto/trace/trace_packet_defaults.pbzero.h",
-    "external/perfetto/protos/perfetto/trace/trigger.pbzero.h",
-  ],
-  export_include_dirs: [
-    "protos",
-  ],
-}
-
 // GN target: //protos/third_party/pprof:lite_gen
 genrule {
   name: "perfetto_protos_third_party_pprof_lite_gen",
@@ -3860,6 +3902,8 @@
     ":perfetto_protos_perfetto_trace_gpu_zero_gen",
     ":perfetto_protos_perfetto_trace_interned_data_zero_gen",
     ":perfetto_protos_perfetto_trace_minimal_lite_gen",
+    ":perfetto_protos_perfetto_trace_minimal_zero_gen",
+    ":perfetto_protos_perfetto_trace_non_minimal_zero_gen",
     ":perfetto_protos_perfetto_trace_perfetto_zero_gen",
     ":perfetto_protos_perfetto_trace_power_zero_gen",
     ":perfetto_protos_perfetto_trace_profiling_zero_gen",
@@ -3867,7 +3911,6 @@
     ":perfetto_protos_perfetto_trace_sys_stats_zero_gen",
     ":perfetto_protos_perfetto_trace_track_event_zero_gen",
     ":perfetto_protos_perfetto_trace_trusted_lite_gen",
-    ":perfetto_protos_perfetto_trace_zero_gen",
     ":perfetto_src_ipc_wire_protocol_gen",
     "src/base/event_fd.cc",
     "src/base/file_utils.cc",
@@ -3967,6 +4010,8 @@
     "perfetto_protos_perfetto_trace_gpu_zero_gen_headers",
     "perfetto_protos_perfetto_trace_interned_data_zero_gen_headers",
     "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
+    "perfetto_protos_perfetto_trace_minimal_zero_gen_headers",
+    "perfetto_protos_perfetto_trace_non_minimal_zero_gen_headers",
     "perfetto_protos_perfetto_trace_perfetto_zero_gen_headers",
     "perfetto_protos_perfetto_trace_power_zero_gen_headers",
     "perfetto_protos_perfetto_trace_profiling_zero_gen_headers",
@@ -3974,7 +4019,6 @@
     "perfetto_protos_perfetto_trace_sys_stats_zero_gen_headers",
     "perfetto_protos_perfetto_trace_track_event_zero_gen_headers",
     "perfetto_protos_perfetto_trace_trusted_lite_gen_headers",
-    "perfetto_protos_perfetto_trace_zero_gen_headers",
     "perfetto_src_ipc_wire_protocol_gen_headers",
   ],
   export_generated_headers: [
@@ -4006,6 +4050,8 @@
     "perfetto_protos_perfetto_trace_gpu_zero_gen_headers",
     "perfetto_protos_perfetto_trace_interned_data_zero_gen_headers",
     "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
+    "perfetto_protos_perfetto_trace_minimal_zero_gen_headers",
+    "perfetto_protos_perfetto_trace_non_minimal_zero_gen_headers",
     "perfetto_protos_perfetto_trace_perfetto_zero_gen_headers",
     "perfetto_protos_perfetto_trace_power_zero_gen_headers",
     "perfetto_protos_perfetto_trace_profiling_zero_gen_headers",
@@ -4013,7 +4059,6 @@
     "perfetto_protos_perfetto_trace_sys_stats_zero_gen_headers",
     "perfetto_protos_perfetto_trace_track_event_zero_gen_headers",
     "perfetto_protos_perfetto_trace_trusted_lite_gen_headers",
-    "perfetto_protos_perfetto_trace_zero_gen_headers",
     "perfetto_src_ipc_wire_protocol_gen_headers",
   ],
   defaults: [
@@ -4045,8 +4090,8 @@
     ":perfetto_protos_perfetto_trace_ftrace_lite_gen",
     ":perfetto_protos_perfetto_trace_gpu_lite_gen",
     ":perfetto_protos_perfetto_trace_interned_data_lite_gen",
-    ":perfetto_protos_perfetto_trace_lite_gen",
     ":perfetto_protos_perfetto_trace_minimal_lite_gen",
+    ":perfetto_protos_perfetto_trace_non_minimal_lite_gen",
     ":perfetto_protos_perfetto_trace_perfetto_lite_gen",
     ":perfetto_protos_perfetto_trace_power_lite_gen",
     ":perfetto_protos_perfetto_trace_profiling_lite_gen",
@@ -4079,8 +4124,8 @@
     "perfetto_protos_perfetto_trace_ftrace_lite_gen_headers",
     "perfetto_protos_perfetto_trace_gpu_lite_gen_headers",
     "perfetto_protos_perfetto_trace_interned_data_lite_gen_headers",
-    "perfetto_protos_perfetto_trace_lite_gen_headers",
     "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
+    "perfetto_protos_perfetto_trace_non_minimal_lite_gen_headers",
     "perfetto_protos_perfetto_trace_perfetto_lite_gen_headers",
     "perfetto_protos_perfetto_trace_power_lite_gen_headers",
     "perfetto_protos_perfetto_trace_profiling_lite_gen_headers",
@@ -4105,8 +4150,8 @@
     "perfetto_protos_perfetto_trace_ftrace_lite_gen_headers",
     "perfetto_protos_perfetto_trace_gpu_lite_gen_headers",
     "perfetto_protos_perfetto_trace_interned_data_lite_gen_headers",
-    "perfetto_protos_perfetto_trace_lite_gen_headers",
     "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
+    "perfetto_protos_perfetto_trace_non_minimal_lite_gen_headers",
     "perfetto_protos_perfetto_trace_perfetto_lite_gen_headers",
     "perfetto_protos_perfetto_trace_power_lite_gen_headers",
     "perfetto_protos_perfetto_trace_profiling_lite_gen_headers",
@@ -4160,8 +4205,10 @@
     ":perfetto_protos_perfetto_trace_gpu_zero_gen",
     ":perfetto_protos_perfetto_trace_interned_data_lite_gen",
     ":perfetto_protos_perfetto_trace_interned_data_zero_gen",
-    ":perfetto_protos_perfetto_trace_lite_gen",
     ":perfetto_protos_perfetto_trace_minimal_lite_gen",
+    ":perfetto_protos_perfetto_trace_minimal_zero_gen",
+    ":perfetto_protos_perfetto_trace_non_minimal_lite_gen",
+    ":perfetto_protos_perfetto_trace_non_minimal_zero_gen",
     ":perfetto_protos_perfetto_trace_perfetto_lite_gen",
     ":perfetto_protos_perfetto_trace_perfetto_zero_gen",
     ":perfetto_protos_perfetto_trace_power_lite_gen",
@@ -4175,7 +4222,6 @@
     ":perfetto_protos_perfetto_trace_track_event_lite_gen",
     ":perfetto_protos_perfetto_trace_track_event_zero_gen",
     ":perfetto_protos_perfetto_trace_trusted_lite_gen",
-    ":perfetto_protos_perfetto_trace_zero_gen",
     ":perfetto_src_ipc_test_messages_gen",
     ":perfetto_src_ipc_wire_protocol_gen",
     ":perfetto_src_perfetto_cmd_protos_gen",
@@ -4435,8 +4481,10 @@
     "perfetto_protos_perfetto_trace_gpu_zero_gen_headers",
     "perfetto_protos_perfetto_trace_interned_data_lite_gen_headers",
     "perfetto_protos_perfetto_trace_interned_data_zero_gen_headers",
-    "perfetto_protos_perfetto_trace_lite_gen_headers",
     "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
+    "perfetto_protos_perfetto_trace_minimal_zero_gen_headers",
+    "perfetto_protos_perfetto_trace_non_minimal_lite_gen_headers",
+    "perfetto_protos_perfetto_trace_non_minimal_zero_gen_headers",
     "perfetto_protos_perfetto_trace_perfetto_lite_gen_headers",
     "perfetto_protos_perfetto_trace_perfetto_zero_gen_headers",
     "perfetto_protos_perfetto_trace_power_lite_gen_headers",
@@ -4450,7 +4498,6 @@
     "perfetto_protos_perfetto_trace_track_event_lite_gen_headers",
     "perfetto_protos_perfetto_trace_track_event_zero_gen_headers",
     "perfetto_protos_perfetto_trace_trusted_lite_gen_headers",
-    "perfetto_protos_perfetto_trace_zero_gen_headers",
     "perfetto_src_ipc_test_messages_gen_headers",
     "perfetto_src_ipc_wire_protocol_gen_headers",
     "perfetto_src_perfetto_cmd_protos_gen_headers",
@@ -4491,6 +4538,8 @@
     ":perfetto_protos_perfetto_trace_ftrace_zero_gen",
     ":perfetto_protos_perfetto_trace_gpu_zero_gen",
     ":perfetto_protos_perfetto_trace_interned_data_zero_gen",
+    ":perfetto_protos_perfetto_trace_minimal_zero_gen",
+    ":perfetto_protos_perfetto_trace_non_minimal_zero_gen",
     ":perfetto_protos_perfetto_trace_perfetto_zero_gen",
     ":perfetto_protos_perfetto_trace_power_zero_gen",
     ":perfetto_protos_perfetto_trace_processor_metrics_impl_zero_gen",
@@ -4498,7 +4547,6 @@
     ":perfetto_protos_perfetto_trace_ps_zero_gen",
     ":perfetto_protos_perfetto_trace_sys_stats_zero_gen",
     ":perfetto_protos_perfetto_trace_track_event_zero_gen",
-    ":perfetto_protos_perfetto_trace_zero_gen",
     "src/base/event_fd.cc",
     "src/base/file_utils.cc",
     "src/base/metatrace.cc",
@@ -4611,6 +4659,8 @@
     "perfetto_protos_perfetto_trace_ftrace_zero_gen_headers",
     "perfetto_protos_perfetto_trace_gpu_zero_gen_headers",
     "perfetto_protos_perfetto_trace_interned_data_zero_gen_headers",
+    "perfetto_protos_perfetto_trace_minimal_zero_gen_headers",
+    "perfetto_protos_perfetto_trace_non_minimal_zero_gen_headers",
     "perfetto_protos_perfetto_trace_perfetto_zero_gen_headers",
     "perfetto_protos_perfetto_trace_power_zero_gen_headers",
     "perfetto_protos_perfetto_trace_processor_metrics_impl_zero_gen_headers",
@@ -4618,7 +4668,6 @@
     "perfetto_protos_perfetto_trace_ps_zero_gen_headers",
     "perfetto_protos_perfetto_trace_sys_stats_zero_gen_headers",
     "perfetto_protos_perfetto_trace_track_event_zero_gen_headers",
-    "perfetto_protos_perfetto_trace_zero_gen_headers",
   ],
   defaults: [
     "perfetto_defaults",
@@ -4683,8 +4732,10 @@
     ":perfetto_protos_perfetto_trace_gpu_zero_gen",
     ":perfetto_protos_perfetto_trace_interned_data_lite_gen",
     ":perfetto_protos_perfetto_trace_interned_data_zero_gen",
-    ":perfetto_protos_perfetto_trace_lite_gen",
     ":perfetto_protos_perfetto_trace_minimal_lite_gen",
+    ":perfetto_protos_perfetto_trace_minimal_zero_gen",
+    ":perfetto_protos_perfetto_trace_non_minimal_lite_gen",
+    ":perfetto_protos_perfetto_trace_non_minimal_zero_gen",
     ":perfetto_protos_perfetto_trace_perfetto_lite_gen",
     ":perfetto_protos_perfetto_trace_perfetto_zero_gen",
     ":perfetto_protos_perfetto_trace_power_lite_gen",
@@ -4698,7 +4749,6 @@
     ":perfetto_protos_perfetto_trace_sys_stats_zero_gen",
     ":perfetto_protos_perfetto_trace_track_event_lite_gen",
     ":perfetto_protos_perfetto_trace_track_event_zero_gen",
-    ":perfetto_protos_perfetto_trace_zero_gen",
     ":perfetto_protos_third_party_pprof_lite_gen",
     "src/base/event_fd.cc",
     "src/base/file_utils.cc",
@@ -4843,8 +4893,10 @@
     "perfetto_protos_perfetto_trace_gpu_zero_gen_headers",
     "perfetto_protos_perfetto_trace_interned_data_lite_gen_headers",
     "perfetto_protos_perfetto_trace_interned_data_zero_gen_headers",
-    "perfetto_protos_perfetto_trace_lite_gen_headers",
     "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
+    "perfetto_protos_perfetto_trace_minimal_zero_gen_headers",
+    "perfetto_protos_perfetto_trace_non_minimal_lite_gen_headers",
+    "perfetto_protos_perfetto_trace_non_minimal_zero_gen_headers",
     "perfetto_protos_perfetto_trace_perfetto_lite_gen_headers",
     "perfetto_protos_perfetto_trace_perfetto_zero_gen_headers",
     "perfetto_protos_perfetto_trace_power_lite_gen_headers",
@@ -4858,7 +4910,6 @@
     "perfetto_protos_perfetto_trace_sys_stats_zero_gen_headers",
     "perfetto_protos_perfetto_trace_track_event_lite_gen_headers",
     "perfetto_protos_perfetto_trace_track_event_zero_gen_headers",
-    "perfetto_protos_perfetto_trace_zero_gen_headers",
     "perfetto_protos_third_party_pprof_lite_gen_headers",
   ],
   defaults: [
@@ -4940,6 +4991,8 @@
     ":perfetto_protos_perfetto_trace_gpu_zero_gen",
     ":perfetto_protos_perfetto_trace_interned_data_zero_gen",
     ":perfetto_protos_perfetto_trace_minimal_lite_gen",
+    ":perfetto_protos_perfetto_trace_minimal_zero_gen",
+    ":perfetto_protos_perfetto_trace_non_minimal_zero_gen",
     ":perfetto_protos_perfetto_trace_perfetto_zero_gen",
     ":perfetto_protos_perfetto_trace_power_zero_gen",
     ":perfetto_protos_perfetto_trace_profiling_zero_gen",
@@ -4947,7 +5000,6 @@
     ":perfetto_protos_perfetto_trace_sys_stats_zero_gen",
     ":perfetto_protos_perfetto_trace_track_event_zero_gen",
     ":perfetto_protos_perfetto_trace_trusted_lite_gen",
-    ":perfetto_protos_perfetto_trace_zero_gen",
     ":perfetto_src_ipc_wire_protocol_gen",
     ":perfetto_src_perfetto_cmd_protos_gen",
     "src/base/event_fd.cc",
@@ -5044,6 +5096,8 @@
     "perfetto_protos_perfetto_trace_gpu_zero_gen_headers",
     "perfetto_protos_perfetto_trace_interned_data_zero_gen_headers",
     "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
+    "perfetto_protos_perfetto_trace_minimal_zero_gen_headers",
+    "perfetto_protos_perfetto_trace_non_minimal_zero_gen_headers",
     "perfetto_protos_perfetto_trace_perfetto_zero_gen_headers",
     "perfetto_protos_perfetto_trace_power_zero_gen_headers",
     "perfetto_protos_perfetto_trace_profiling_zero_gen_headers",
@@ -5051,7 +5105,6 @@
     "perfetto_protos_perfetto_trace_sys_stats_zero_gen_headers",
     "perfetto_protos_perfetto_trace_track_event_zero_gen_headers",
     "perfetto_protos_perfetto_trace_trusted_lite_gen_headers",
-    "perfetto_protos_perfetto_trace_zero_gen_headers",
     "perfetto_src_ipc_wire_protocol_gen_headers",
     "perfetto_src_perfetto_cmd_protos_gen_headers",
   ],
diff --git a/BUILD b/BUILD
index 7d2f466..9125cca 100644
--- a/BUILD
+++ b/BUILD
@@ -79,6 +79,7 @@
         "include/perfetto/ext/base/event_fd.h",
         "include/perfetto/ext/base/file_utils.h",
         "include/perfetto/ext/base/hash.h",
+        "include/perfetto/ext/base/lookup_set.h",
         "include/perfetto/ext/base/metatrace.h",
         "include/perfetto/ext/base/metatrace_events.h",
         "include/perfetto/ext/base/no_destructor.h",
@@ -179,6 +180,7 @@
         "include/perfetto/ext/base/event_fd.h",
         "include/perfetto/ext/base/file_utils.h",
         "include/perfetto/ext/base/hash.h",
+        "include/perfetto/ext/base/lookup_set.h",
         "include/perfetto/ext/base/metatrace.h",
         "include/perfetto/ext/base/metatrace_events.h",
         "include/perfetto/ext/base/no_destructor.h",
@@ -243,7 +245,6 @@
         "//third_party/perfetto/protos:protos_third_party_pprof_cc_proto",
         "//third_party/perfetto/protos:trace_android_cc_proto",
         "//third_party/perfetto/protos:trace_android_zero_cc_proto",
-        "//third_party/perfetto/protos:trace_cc_proto",
         "//third_party/perfetto/protos:trace_chrome_cc_proto",
         "//third_party/perfetto/protos:trace_chrome_zero_cc_proto",
         "//third_party/perfetto/protos:trace_filesystem_cc_proto",
@@ -255,6 +256,9 @@
         "//third_party/perfetto/protos:trace_interned_data_cc_proto",
         "//third_party/perfetto/protos:trace_interned_data_zero_cc_proto",
         "//third_party/perfetto/protos:trace_minimal_cc_proto",
+        "//third_party/perfetto/protos:trace_minimal_zero_cc_proto",
+        "//third_party/perfetto/protos:trace_non_minimal_cc_proto",
+        "//third_party/perfetto/protos:trace_non_minimal_zero_cc_proto",
         "//third_party/perfetto/protos:trace_perfetto_cc_proto",
         "//third_party/perfetto/protos:trace_perfetto_zero_cc_proto",
         "//third_party/perfetto/protos:trace_power_cc_proto",
@@ -267,7 +271,6 @@
         "//third_party/perfetto/protos:trace_sys_stats_zero_cc_proto",
         "//third_party/perfetto/protos:trace_track_event_cc_proto",
         "//third_party/perfetto/protos:trace_track_event_zero_cc_proto",
-        "//third_party/perfetto/protos:trace_zero_cc_proto",
     ],
 )
 
@@ -460,6 +463,7 @@
         "include/perfetto/ext/base/event_fd.h",
         "include/perfetto/ext/base/file_utils.h",
         "include/perfetto/ext/base/hash.h",
+        "include/perfetto/ext/base/lookup_set.h",
         "include/perfetto/ext/base/metatrace.h",
         "include/perfetto/ext/base/metatrace_events.h",
         "include/perfetto/ext/base/no_destructor.h",
@@ -522,6 +526,8 @@
         "//third_party/perfetto/protos:trace_ftrace_zero_cc_proto",
         "//third_party/perfetto/protos:trace_gpu_zero_cc_proto",
         "//third_party/perfetto/protos:trace_interned_data_zero_cc_proto",
+        "//third_party/perfetto/protos:trace_minimal_zero_cc_proto",
+        "//third_party/perfetto/protos:trace_non_minimal_zero_cc_proto",
         "//third_party/perfetto/protos:trace_perfetto_zero_cc_proto",
         "//third_party/perfetto/protos:trace_power_zero_cc_proto",
         "//third_party/perfetto/protos:trace_processor_metrics_impl_zero_cc_proto",
@@ -529,7 +535,6 @@
         "//third_party/perfetto/protos:trace_ps_zero_cc_proto",
         "//third_party/perfetto/protos:trace_sys_stats_zero_cc_proto",
         "//third_party/perfetto/protos:trace_track_event_zero_cc_proto",
-        "//third_party/perfetto/protos:trace_zero_cc_proto",
         "//third_party/sqlite",
         "//third_party/sqlite:sqlite_ext_percentile",
         "//third_party/zlib:zlibsystem",
@@ -552,6 +557,7 @@
         "include/perfetto/ext/base/event_fd.h",
         "include/perfetto/ext/base/file_utils.h",
         "include/perfetto/ext/base/hash.h",
+        "include/perfetto/ext/base/lookup_set.h",
         "include/perfetto/ext/base/metatrace.h",
         "include/perfetto/ext/base/metatrace_events.h",
         "include/perfetto/ext/base/no_destructor.h",
@@ -788,6 +794,8 @@
         "//third_party/perfetto/protos:trace_ftrace_zero_cc_proto",
         "//third_party/perfetto/protos:trace_gpu_zero_cc_proto",
         "//third_party/perfetto/protos:trace_interned_data_zero_cc_proto",
+        "//third_party/perfetto/protos:trace_minimal_zero_cc_proto",
+        "//third_party/perfetto/protos:trace_non_minimal_zero_cc_proto",
         "//third_party/perfetto/protos:trace_perfetto_zero_cc_proto",
         "//third_party/perfetto/protos:trace_power_zero_cc_proto",
         "//third_party/perfetto/protos:trace_processor_metrics_impl_zero_cc_proto",
@@ -795,7 +803,6 @@
         "//third_party/perfetto/protos:trace_ps_zero_cc_proto",
         "//third_party/perfetto/protos:trace_sys_stats_zero_cc_proto",
         "//third_party/perfetto/protos:trace_track_event_zero_cc_proto",
-        "//third_party/perfetto/protos:trace_zero_cc_proto",
         "//third_party/protobuf:libprotoc_legacy",
         "//third_party/protobuf:protobuf_legacy",
         "//third_party/sqlite",
@@ -820,6 +827,7 @@
         "include/perfetto/ext/base/event_fd.h",
         "include/perfetto/ext/base/file_utils.h",
         "include/perfetto/ext/base/hash.h",
+        "include/perfetto/ext/base/lookup_set.h",
         "include/perfetto/ext/base/metatrace.h",
         "include/perfetto/ext/base/metatrace_events.h",
         "include/perfetto/ext/base/no_destructor.h",
@@ -1084,7 +1092,6 @@
         "//third_party/perfetto/protos:protos_third_party_pprof_cc_proto",
         "//third_party/perfetto/protos:trace_android_cc_proto",
         "//third_party/perfetto/protos:trace_android_zero_cc_proto",
-        "//third_party/perfetto/protos:trace_cc_proto",
         "//third_party/perfetto/protos:trace_chrome_cc_proto",
         "//third_party/perfetto/protos:trace_chrome_zero_cc_proto",
         "//third_party/perfetto/protos:trace_filesystem_cc_proto",
@@ -1096,6 +1103,9 @@
         "//third_party/perfetto/protos:trace_interned_data_cc_proto",
         "//third_party/perfetto/protos:trace_interned_data_zero_cc_proto",
         "//third_party/perfetto/protos:trace_minimal_cc_proto",
+        "//third_party/perfetto/protos:trace_minimal_zero_cc_proto",
+        "//third_party/perfetto/protos:trace_non_minimal_cc_proto",
+        "//third_party/perfetto/protos:trace_non_minimal_zero_cc_proto",
         "//third_party/perfetto/protos:trace_perfetto_cc_proto",
         "//third_party/perfetto/protos:trace_perfetto_zero_cc_proto",
         "//third_party/perfetto/protos:trace_power_cc_proto",
@@ -1109,7 +1119,6 @@
         "//third_party/perfetto/protos:trace_sys_stats_zero_cc_proto",
         "//third_party/perfetto/protos:trace_track_event_cc_proto",
         "//third_party/perfetto/protos:trace_track_event_zero_cc_proto",
-        "//third_party/perfetto/protos:trace_zero_cc_proto",
         "//third_party/protobuf:libprotoc_legacy",
         "//third_party/protobuf:protobuf_legacy",
         "//third_party/sqlite",
diff --git a/gn/BUILD.gn b/gn/BUILD.gn
index 1bc618e..8249985 100644
--- a/gn/BUILD.gn
+++ b/gn/BUILD.gn
@@ -43,6 +43,8 @@
   }
   perfetto_force_dlog_on = perfetto_force_dlog == "on"
   perfetto_force_dlog_off = perfetto_force_dlog == "off"
+  perfetto_version_gen =
+      perfetto_build_standalone && !is_perfetto_build_generator
 
   response_file_contents = [
     "--flags",  # Keep this marker first.
@@ -55,6 +57,7 @@
     "PERFETTO_COMPONENT_BUILD=$perfetto_component_build",
     "PERFETTO_FORCE_DLOG_ON=$perfetto_force_dlog_on",
     "PERFETTO_FORCE_DLOG_OFF=$perfetto_force_dlog_off",
+    "PERFETTO_VERSION_GEN=$perfetto_version_gen",
   ]
 
   rel_out_path = rebase_path(gen_header_path, "$root_build_dir")
diff --git a/gn/protozero_library.gni b/gn/protozero_library.gni
index b6ac819..982eac8 100644
--- a/gn/protozero_library.gni
+++ b/gn/protozero_library.gni
@@ -27,7 +27,7 @@
     generate_python = false
     generator_plugin_label =
         perfetto_root_path + "src/protozero/protoc_plugin:protozero_plugin"
-    generator_plugin_suffix = ".pbzero"
+    generator_plugin_suffixes = [ ".pbzero.h" ]
     if (build_with_chromium) {
       component_build_force_source_set = true
     }
diff --git a/gn/standalone/gen_git_revision.py b/gn/standalone/gen_git_revision.py
index a5c161a..2129d5d 100755
--- a/gn/standalone/gen_git_revision.py
+++ b/gn/standalone/gen_git_revision.py
@@ -1,3 +1,4 @@
+#!/usr/bin/env python
 # Copyright (C) 2019 The Android Open Source Project
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -18,7 +19,7 @@
 
 def main(argv):
   if len(argv) != 2:
-    print 'Usage: %s output_file.h'
+    print('Usage: %s output_file.h' % argv[0])
     return 1
   revision = subprocess.check_output(['git', 'rev-parse', 'HEAD']).strip()
   new_contents = '#define PERFETTO_GET_GIT_REVISION() "%s"\n' % revision
diff --git a/include/perfetto/base/build_configs/android_tree/perfetto_build_flags.h b/include/perfetto/base/build_configs/android_tree/perfetto_build_flags.h
index ce2a9f3..1274e36 100644
--- a/include/perfetto/base/build_configs/android_tree/perfetto_build_flags.h
+++ b/include/perfetto/base/build_configs/android_tree/perfetto_build_flags.h
@@ -13,5 +13,6 @@
 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_COMPONENT_BUILD() (0)
 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_FORCE_DLOG_ON() (0)
 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_FORCE_DLOG_OFF() (0)
+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_VERSION_GEN() (0)
 
 #endif  // GEN_BUILD_CONFIG_PERFETTO_BUILD_FLAGS_H_
diff --git a/include/perfetto/base/build_configs/bazel/perfetto_build_flags.h b/include/perfetto/base/build_configs/bazel/perfetto_build_flags.h
index 770d1c6..fee1ad9 100644
--- a/include/perfetto/base/build_configs/bazel/perfetto_build_flags.h
+++ b/include/perfetto/base/build_configs/bazel/perfetto_build_flags.h
@@ -13,5 +13,6 @@
 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_COMPONENT_BUILD() (0)
 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_FORCE_DLOG_ON() (0)
 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_FORCE_DLOG_OFF() (0)
+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_VERSION_GEN() (0)
 
 #endif  // GEN_BUILD_CONFIG_PERFETTO_BUILD_FLAGS_H_
diff --git a/include/perfetto/ext/base/BUILD.gn b/include/perfetto/ext/base/BUILD.gn
index 48c6ba5..2a574a0 100644
--- a/include/perfetto/ext/base/BUILD.gn
+++ b/include/perfetto/ext/base/BUILD.gn
@@ -21,6 +21,7 @@
     "event_fd.h",
     "file_utils.h",
     "hash.h",
+    "lookup_set.h",
     "metatrace.h",
     "metatrace_events.h",
     "no_destructor.h",
diff --git a/protos/BUILD b/protos/BUILD
index aa43821..ab14f9f 100644
--- a/protos/BUILD
+++ b/protos/BUILD
@@ -816,48 +816,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/trace:lite_gen
-proto_library(
-    name = "trace",
-    srcs = [
-        "perfetto/trace/test_event.proto",
-        "perfetto/trace/trace.proto",
-        "perfetto/trace/trace_packet.proto",
-        "perfetto/trace/trace_packet_defaults.proto",
-    ],
-    has_services = 1,
-    cc_api_version = 2,
-    cc_generic_services = 1,
-    visibility = [
-        "//visibility:public",
-    ],
-    deps = [
-        "//third_party/perfetto/protos:common",
-        "//third_party/perfetto/protos:config",
-        "//third_party/perfetto/protos:config_android",
-        "//third_party/perfetto/protos:config_ftrace",
-        "//third_party/perfetto/protos:config_gpu",
-        "//third_party/perfetto/protos:config_inode_file",
-        "//third_party/perfetto/protos:config_power",
-        "//third_party/perfetto/protos:config_process_stats",
-        "//third_party/perfetto/protos:config_profiling",
-        "//third_party/perfetto/protos:config_sys_stats",
-        "//third_party/perfetto/protos:trace_android",
-        "//third_party/perfetto/protos:trace_chrome",
-        "//third_party/perfetto/protos:trace_filesystem",
-        "//third_party/perfetto/protos:trace_ftrace",
-        "//third_party/perfetto/protos:trace_gpu",
-        "//third_party/perfetto/protos:trace_interned_data",
-        "//third_party/perfetto/protos:trace_minimal",
-        "//third_party/perfetto/protos:trace_perfetto",
-        "//third_party/perfetto/protos:trace_power",
-        "//third_party/perfetto/protos:trace_profiling",
-        "//third_party/perfetto/protos:trace_ps",
-        "//third_party/perfetto/protos:trace_sys_stats",
-        "//third_party/perfetto/protos:trace_track_event",
-    ],
-)
-
 # GN target: //protos/perfetto/trace/android:lite_gen
 proto_library(
     name = "trace_android",
@@ -921,17 +879,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/trace:lite_gen
-cc_proto_library(
-    name = "trace_cc_proto",
-    visibility = [
-        "//visibility:public",
-    ],
-    deps = [
-        "//third_party/perfetto/protos:trace",
-    ],
-)
-
 # GN target: //protos/perfetto/trace/chrome:lite_gen
 proto_library(
     name = "trace_chrome",
@@ -1288,17 +1235,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/trace:lite_gen
-java_proto_library(
-    name = "trace_java_proto",
-    visibility = [
-        "//visibility:public",
-    ],
-    deps = [
-        "//third_party/perfetto/protos:trace",
-    ],
-)
-
 # GN target: //protos/perfetto/trace:merged_trace_gen
 proto_library(
     name = "trace_merged_trace_gen",
@@ -1385,6 +1321,144 @@
     ],
 )
 
+# GN target: //protos/perfetto/trace:minimal_zero_gen
+proto_library(
+    name = "trace_minimal_zero",
+    srcs = [
+        "perfetto/trace/clock_snapshot.proto",
+        "perfetto/trace/system_info.proto",
+        "perfetto/trace/trigger.proto",
+    ],
+    deps = [
+        "//third_party/perfetto/protos:common_zero",
+        "//third_party/perfetto/protos:config_android_zero",
+        "//third_party/perfetto/protos:config_ftrace_zero",
+        "//third_party/perfetto/protos:config_gpu_zero",
+        "//third_party/perfetto/protos:config_inode_file_zero",
+        "//third_party/perfetto/protos:config_power_zero",
+        "//third_party/perfetto/protos:config_process_stats_zero",
+        "//third_party/perfetto/protos:config_profiling_zero",
+        "//third_party/perfetto/protos:config_sys_stats_zero",
+        "//third_party/perfetto/protos:config_zero",
+    ],
+)
+
+# GN target: //protos/perfetto/trace:minimal_zero_gen
+pbzero_cc_proto_library(
+    name = "trace_minimal_zero_cc_proto",
+    src_proto_library = "//third_party/perfetto/protos:trace_minimal_zero",
+    deps = [
+        "//third_party/perfetto:libprotozero",
+    ],
+)
+
+# GN target: //protos/perfetto/trace:non_minimal_lite_gen
+proto_library(
+    name = "trace_non_minimal",
+    srcs = [
+        "perfetto/trace/test_event.proto",
+        "perfetto/trace/trace.proto",
+        "perfetto/trace/trace_packet.proto",
+        "perfetto/trace/trace_packet_defaults.proto",
+    ],
+    has_services = 1,
+    cc_api_version = 2,
+    cc_generic_services = 1,
+    visibility = [
+        "//visibility:public",
+    ],
+    deps = [
+        "//third_party/perfetto/protos:common",
+        "//third_party/perfetto/protos:config",
+        "//third_party/perfetto/protos:config_android",
+        "//third_party/perfetto/protos:config_ftrace",
+        "//third_party/perfetto/protos:config_gpu",
+        "//third_party/perfetto/protos:config_inode_file",
+        "//third_party/perfetto/protos:config_power",
+        "//third_party/perfetto/protos:config_process_stats",
+        "//third_party/perfetto/protos:config_profiling",
+        "//third_party/perfetto/protos:config_sys_stats",
+        "//third_party/perfetto/protos:trace_android",
+        "//third_party/perfetto/protos:trace_chrome",
+        "//third_party/perfetto/protos:trace_filesystem",
+        "//third_party/perfetto/protos:trace_ftrace",
+        "//third_party/perfetto/protos:trace_gpu",
+        "//third_party/perfetto/protos:trace_interned_data",
+        "//third_party/perfetto/protos:trace_perfetto",
+        "//third_party/perfetto/protos:trace_power",
+        "//third_party/perfetto/protos:trace_profiling",
+        "//third_party/perfetto/protos:trace_ps",
+        "//third_party/perfetto/protos:trace_sys_stats",
+        "//third_party/perfetto/protos:trace_track_event",
+    ],
+)
+
+# GN target: //protos/perfetto/trace:non_minimal_lite_gen
+cc_proto_library(
+    name = "trace_non_minimal_cc_proto",
+    visibility = [
+        "//visibility:public",
+    ],
+    deps = [
+        "//third_party/perfetto/protos:trace_non_minimal",
+    ],
+)
+
+# GN target: //protos/perfetto/trace:non_minimal_lite_gen
+java_proto_library(
+    name = "trace_non_minimal_java_proto",
+    visibility = [
+        "//visibility:public",
+    ],
+    deps = [
+        "//third_party/perfetto/protos:trace_non_minimal",
+    ],
+)
+
+# GN target: //protos/perfetto/trace:non_minimal_zero_gen
+proto_library(
+    name = "trace_non_minimal_zero",
+    srcs = [
+        "perfetto/trace/test_event.proto",
+        "perfetto/trace/trace.proto",
+        "perfetto/trace/trace_packet.proto",
+        "perfetto/trace/trace_packet_defaults.proto",
+    ],
+    deps = [
+        "//third_party/perfetto/protos:common_zero",
+        "//third_party/perfetto/protos:config_android_zero",
+        "//third_party/perfetto/protos:config_ftrace_zero",
+        "//third_party/perfetto/protos:config_gpu_zero",
+        "//third_party/perfetto/protos:config_inode_file_zero",
+        "//third_party/perfetto/protos:config_power_zero",
+        "//third_party/perfetto/protos:config_process_stats_zero",
+        "//third_party/perfetto/protos:config_profiling_zero",
+        "//third_party/perfetto/protos:config_sys_stats_zero",
+        "//third_party/perfetto/protos:config_zero",
+        "//third_party/perfetto/protos:trace_android_zero",
+        "//third_party/perfetto/protos:trace_chrome_zero",
+        "//third_party/perfetto/protos:trace_filesystem_zero",
+        "//third_party/perfetto/protos:trace_ftrace_zero",
+        "//third_party/perfetto/protos:trace_gpu_zero",
+        "//third_party/perfetto/protos:trace_interned_data_zero",
+        "//third_party/perfetto/protos:trace_perfetto_zero",
+        "//third_party/perfetto/protos:trace_power_zero",
+        "//third_party/perfetto/protos:trace_profiling_zero",
+        "//third_party/perfetto/protos:trace_ps_zero",
+        "//third_party/perfetto/protos:trace_sys_stats_zero",
+        "//third_party/perfetto/protos:trace_track_event_zero",
+    ],
+)
+
+# GN target: //protos/perfetto/trace:non_minimal_zero_gen
+pbzero_cc_proto_library(
+    name = "trace_non_minimal_zero_cc_proto",
+    src_proto_library = "//third_party/perfetto/protos:trace_non_minimal_zero",
+    deps = [
+        "//third_party/perfetto:libprotozero",
+    ],
+)
+
 # GN target: //protos/perfetto/trace/perfetto:lite_gen
 proto_library(
     name = "trace_perfetto",
@@ -1783,50 +1857,3 @@
         "//third_party/perfetto:libprotozero",
     ],
 )
-
-# GN target: //protos/perfetto/trace:zero_gen
-proto_library(
-    name = "trace_zero",
-    srcs = [
-        "perfetto/trace/clock_snapshot.proto",
-        "perfetto/trace/system_info.proto",
-        "perfetto/trace/test_event.proto",
-        "perfetto/trace/trace.proto",
-        "perfetto/trace/trace_packet.proto",
-        "perfetto/trace/trace_packet_defaults.proto",
-        "perfetto/trace/trigger.proto",
-    ],
-    deps = [
-        "//third_party/perfetto/protos:common_zero",
-        "//third_party/perfetto/protos:config_android_zero",
-        "//third_party/perfetto/protos:config_ftrace_zero",
-        "//third_party/perfetto/protos:config_gpu_zero",
-        "//third_party/perfetto/protos:config_inode_file_zero",
-        "//third_party/perfetto/protos:config_power_zero",
-        "//third_party/perfetto/protos:config_process_stats_zero",
-        "//third_party/perfetto/protos:config_profiling_zero",
-        "//third_party/perfetto/protos:config_sys_stats_zero",
-        "//third_party/perfetto/protos:config_zero",
-        "//third_party/perfetto/protos:trace_android_zero",
-        "//third_party/perfetto/protos:trace_chrome_zero",
-        "//third_party/perfetto/protos:trace_filesystem_zero",
-        "//third_party/perfetto/protos:trace_ftrace_zero",
-        "//third_party/perfetto/protos:trace_gpu_zero",
-        "//third_party/perfetto/protos:trace_interned_data_zero",
-        "//third_party/perfetto/protos:trace_perfetto_zero",
-        "//third_party/perfetto/protos:trace_power_zero",
-        "//third_party/perfetto/protos:trace_profiling_zero",
-        "//third_party/perfetto/protos:trace_ps_zero",
-        "//third_party/perfetto/protos:trace_sys_stats_zero",
-        "//third_party/perfetto/protos:trace_track_event_zero",
-    ],
-)
-
-# GN target: //protos/perfetto/trace:zero_gen
-pbzero_cc_proto_library(
-    name = "trace_zero_cc_proto",
-    src_proto_library = "//third_party/perfetto/protos:trace_zero",
-    deps = [
-        "//third_party/perfetto:libprotozero",
-    ],
-)
diff --git a/protos/perfetto/trace/BUILD.gn b/protos/perfetto/trace/BUILD.gn
index 0d840d9..8f1f187 100644
--- a/protos/perfetto/trace/BUILD.gn
+++ b/protos/perfetto/trace/BUILD.gn
@@ -17,25 +17,54 @@
 import("../../../gn/proto_library.gni")
 import("../../../gn/protozero_library.gni")
 
-# Common protos used by both the ":minimal_lite" target (for the service) and
-# the generic ":lite" target
-proto_sources_minimal = [
-  "clock_snapshot.proto",
-  "trigger.proto",
-  "system_info.proto",
-]
+# Trace protos are split logically into two groups:
+# 1. Full set of protos: :zero (for writers) and :lite (for readers).
+# 2. Minimal set: :minimal_zero, :minimal_lite. These are mainly for chrome, to
+#    avoid bloating binary size by pulling unnecessary protos.
+#
+# In practice, however, we need to split them in disjoint targets (minmal and
+# non-minimal) and then use a group() target for the full protos. This is
+# because build systems don't like two targets having genrules for the same
+# .proto files.
 
-proto_sources_trusted = [ "trusted_packet.proto" ]
-
-proto_sources = [
+# By default add new protos here.
+proto_sources_non_minimal = [
   "trace_packet_defaults.proto",
   "test_event.proto",
   "trace_packet.proto",
   "trace.proto",
 ]
 
-# Protozero generated stubs, for writers.
-protozero_library("zero") {
+proto_sources_minimal = [
+  "clock_snapshot.proto",
+  "trigger.proto",
+  "system_info.proto",
+]
+
+# Used only for packet_stream_validator.cc (in the service).
+proto_sources_trusted = [ "trusted_packet.proto" ]
+
+# Most targets should either depend on :zero (writers) / :lite (readers)
+# or ":minimal_zero" / :minimal_lite (mostly for chrome).
+
+# The full set of protozero-generated sources.
+group("zero") {
+  public_deps = [
+    ":minimal_zero",
+    ":non_minimal_zero",
+  ]
+}
+
+# The full set of libprotobuf-generated sources.
+group("lite") {
+  public_deps = [
+    ":minimal_lite",
+    ":non_minimal_lite",
+  ]
+}
+
+protozero_library("non_minimal_zero") {
+  visibility = [ ":zero" ]
   deps = [
     "../config:zero",
     "android:zero",
@@ -51,17 +80,16 @@
     "sys_stats:zero",
     "track_event:zero",
   ]
-  sources = proto_sources_minimal + proto_sources
+  sources = proto_sources_non_minimal
   proto_in_dir = "$perfetto_root_path/protos"
   proto_out_dir = "$perfetto_root_path/protos"
   generator_plugin_options = "wrapper_namespace=pbzero"
 }
 
-# Protobuf Lite stubs, for readers.
-proto_library("lite") {
+proto_library("non_minimal_lite") {
+  visibility = [ ":lite" ]
   generate_python = false
   deps = [
-    ":minimal_lite",
     "../config:lite",
     "android:lite",
     "chrome:lite",
@@ -76,23 +104,11 @@
     "sys_stats:lite",
     "track_event:lite",
   ]
-  sources = proto_sources
+  sources = proto_sources_non_minimal
   proto_in_dir = "$perfetto_root_path/protos"
   proto_out_dir = "$perfetto_root_path/protos"
 }
 
-if (perfetto_build_standalone) {
-  proto_descriptor("descriptor") {
-    sources = [
-      "trace.proto",
-    ]
-    generate_descriptor = "trace.descriptor"
-    proto_in_dir = "$perfetto_root_path/protos"
-    proto_out_dir = "$perfetto_root_path/protos"
-  }
-}
-
-# Contains the subprotos of TracePacket that all targets need.
 proto_library("minimal_lite") {
   generate_python = false
   deps = [
@@ -103,6 +119,16 @@
   proto_out_dir = "$perfetto_root_path/protos"
 }
 
+protozero_library("minimal_zero") {
+  deps = [
+    "../config:zero",
+  ]
+  sources = proto_sources_minimal
+  proto_in_dir = "$perfetto_root_path/protos"
+  proto_out_dir = "$perfetto_root_path/protos"
+  generator_plugin_options = "wrapper_namespace=pbzero"
+}
+
 # Used by the traced service for packet sanitization.
 proto_library("trusted_lite") {
   generate_python = false
@@ -126,3 +152,14 @@
     "perfetto_trace.proto",
   ]
 }
+
+if (perfetto_build_standalone) {
+  proto_descriptor("descriptor") {
+    sources = [
+      "trace.proto",
+    ]
+    generate_descriptor = "trace.descriptor"
+    proto_in_dir = "$perfetto_root_path/protos"
+    proto_out_dir = "$perfetto_root_path/protos"
+  }
+}
diff --git a/src/ipc/BUILD.gn b/src/ipc/BUILD.gn
index 6037246..587ac31 100644
--- a/src/ipc/BUILD.gn
+++ b/src/ipc/BUILD.gn
@@ -41,7 +41,9 @@
   ]
   sources = [
     "buffered_frame_deserializer.cc",
+    "buffered_frame_deserializer.h",
     "client_impl.cc",
+    "client_impl.h",
     "deferred.cc",
     "host_impl.cc",
     "host_impl.h",
diff --git a/src/protozero/protoc_plugin/protozero_plugin.cc b/src/protozero/protoc_plugin/protozero_plugin.cc
index 8902b6b..b5305ac 100644
--- a/src/protozero/protoc_plugin/protozero_plugin.cc
+++ b/src/protozero/protoc_plugin/protozero_plugin.cc
@@ -732,7 +732,7 @@
   GeneratorJob job(file, &stub_h_printer);
 
   Printer stub_cc_printer(stub_cc_file_stream.get(), '$');
-  stub_cc_printer.Print("// Intentionally empty\n");
+  stub_cc_printer.Print("// Intentionally empty (crbug.com/998165)\n");
 
   // Parse additional options.
   for (const std::string& option : Split(options, ",")) {
diff --git a/src/trace_processor/trace_processor_shell.cc b/src/trace_processor/trace_processor_shell.cc
index 2ec46c2..5cca3c9 100644
--- a/src/trace_processor/trace_processor_shell.cc
+++ b/src/trace_processor/trace_processor_shell.cc
@@ -56,6 +56,9 @@
 #include <linenoise.h>
 #include <pwd.h>
 #include <sys/types.h>
+#endif
+
+#if PERFETTO_BUILDFLAG(PERFETTO_VERSION_GEN)
 #include "perfetto_version.gen.h"
 #else
 #define PERFETTO_GET_GIT_REVISION() "unknown"
diff --git a/tools/gen_amalgamated b/tools/gen_amalgamated
index de688a1..77883de 100755
--- a/tools/gen_amalgamated
+++ b/tools/gen_amalgamated
@@ -30,13 +30,17 @@
 import gn_utils
 
 # Default targets to include in the result.
+# TODO(primiano): change this script to recurse into target deps when generating
+# headers, but only for proto targets. .pbzero.h files don't include each other
+# and we need to list targets here individually, which is unmaintainable.
 default_targets = [
     '//:libperfetto_client_experimental',
     "//include/perfetto/protozero:protozero",
     "//protos/perfetto/common:zero",
     "//protos/perfetto/config:zero",
-    "//protos/perfetto/config:zero",
-    "//protos/perfetto/trace:zero",
+    "//protos/perfetto/config/gpu:zero",
+    "//protos/perfetto/trace:minimal_zero",
+    "//protos/perfetto/trace:non_minimal_zero",
     "//protos/perfetto/trace/gpu:zero",
     "//protos/perfetto/trace/interned_data:zero",
     "//protos/perfetto/trace/track_event:zero",
@@ -368,7 +372,7 @@
         if not os.path.exists(header_name):
             if self._compute_deps_only:
                 return
-            raise Error('Header file %s not found' % source_name)
+            raise Error('Header file %s not found' % header_name)
         with open(header_name) as f:
             self.header.append(
                 '// %s begin header: %s' % (tool_name, header_name))
diff --git a/tools/gen_merged_sql_metrics.py b/tools/gen_merged_sql_metrics.py
index ba261b4..cb36db5 100755
--- a/tools/gen_merged_sql_metrics.py
+++ b/tools/gen_merged_sql_metrics.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
 # Copyright (C) 2019 The Android Open Source Project
 #
 # Licensed under the Apache License, Version 2.0 (the "License");