tp: migrate chrome metrics descriptor generation to build time
This is required because Chrome protos extend the TraceMetrics proto so
the descriptor pulls in all the Perfetto ones.
Change-Id: I7b724f2ff77b001663be45858b4dcfd91944f436
diff --git a/BUILD b/BUILD
index 7d4e73e..74c2a2e 100644
--- a/BUILD
+++ b/BUILD
@@ -748,6 +748,16 @@
)
perfetto_cc_proto_descriptor(
+ name = "src_trace_processor_metrics_gen_cc_all_chrome_metrics_descriptor",
+ deps = [
+ ":protos_perfetto_metrics_chrome_descriptor",
+ ],
+ outs = [
+ "src/trace_processor/metrics/chrome/all_chrome_metrics.descriptor.h",
+ ],
+)
+
+perfetto_cc_proto_descriptor(
name = "src_trace_processor_metrics_gen_cc_metrics_descriptor",
deps = [
":protos_perfetto_metrics_descriptor",
@@ -822,7 +832,6 @@
filegroup(
name = "src_trace_processor_metrics_lib",
srcs = [
- "src/trace_processor/metrics/chrome/all_chrome_metrics.descriptor.h",
"src/trace_processor/metrics/metrics.cc",
"src/trace_processor/metrics/metrics.h",
],
@@ -2111,6 +2120,64 @@
],
)
+# GN target: //protos/perfetto/metrics/chrome:descriptor
+perfetto_proto_descriptor(
+ name = "protos_perfetto_metrics_chrome_descriptor",
+ deps = [
+ ":protos_perfetto_metrics_chrome_descriptor_protos",
+ ],
+ outs = [
+ "protos_perfetto_metrics_chrome_descriptor.bin",
+ ],
+)
+
+# GN target: //protos/perfetto/metrics/chrome:descriptor
+perfetto_proto_library(
+ name = "protos_perfetto_metrics_chrome_descriptor_protos",
+ srcs = [
+ "protos/perfetto/metrics/chrome/all_chrome_metrics.proto",
+ ],
+ visibility = [
+ PERFETTO_CONFIG.proto_library_visibility,
+ ],
+ deps = [
+ ":protos_perfetto_metrics_android_source_set_protos",
+ ":protos_perfetto_metrics_chrome_source_set_protos",
+ ":protos_perfetto_metrics_custom_options_source_set_protos",
+ ":protos_perfetto_metrics_source_set_protos",
+ ] + PERFETTO_CONFIG.deps.protobuf_descriptor_proto,
+)
+
+# GN target: //protos/perfetto/metrics/chrome:source_set
+perfetto_proto_library(
+ name = "protos_perfetto_metrics_chrome_source_set_protos",
+ srcs = [
+ "protos/perfetto/metrics/chrome/all_chrome_metrics.proto",
+ "protos/perfetto/metrics/chrome/test_chrome_metric.proto",
+ ],
+ visibility = [
+ PERFETTO_CONFIG.proto_library_visibility,
+ ],
+ deps = [
+ ":protos_perfetto_metrics_android_source_set_protos",
+ ":protos_perfetto_metrics_custom_options_source_set_protos",
+ ":protos_perfetto_metrics_source_set_protos",
+ ] + PERFETTO_CONFIG.deps.protobuf_descriptor_proto,
+)
+
+# GN target: //protos/perfetto/metrics:custom_options_source_set
+perfetto_proto_library(
+ name = "protos_perfetto_metrics_custom_options_source_set_protos",
+ srcs = [
+ "protos/perfetto/metrics/custom_options.proto",
+ ],
+ visibility = [
+ PERFETTO_CONFIG.proto_library_visibility,
+ ],
+ deps = [
+ ] + PERFETTO_CONFIG.deps.protobuf_descriptor_proto,
+)
+
# GN target: //protos/perfetto/metrics:descriptor
perfetto_proto_descriptor(
name = "protos_perfetto_metrics_descriptor",
@@ -2156,6 +2223,20 @@
],
)
+# GN target: //protos/perfetto/metrics:source_set
+perfetto_proto_library(
+ name = "protos_perfetto_metrics_source_set_protos",
+ srcs = [
+ "protos/perfetto/metrics/metrics.proto",
+ ],
+ visibility = [
+ PERFETTO_CONFIG.proto_library_visibility,
+ ],
+ deps = [
+ ":protos_perfetto_metrics_android_source_set_protos",
+ ],
+)
+
# GN target: //protos/perfetto/trace/android:lite
perfetto_cc_proto_library(
name = "protos_perfetto_trace_android_lite",
@@ -3031,6 +3112,7 @@
":protos_perfetto_trace_sys_stats_zero",
":protos_perfetto_trace_system_info_zero",
":protos_perfetto_trace_track_event_zero",
+ ":src_trace_processor_metrics_gen_cc_all_chrome_metrics_descriptor",
":src_trace_processor_metrics_gen_cc_metrics_descriptor",
] + PERFETTO_CONFIG.deps.jsoncpp +
PERFETTO_CONFIG.deps.sqlite +
@@ -3114,6 +3196,7 @@
":protos_perfetto_trace_sys_stats_zero",
":protos_perfetto_trace_system_info_zero",
":protos_perfetto_trace_track_event_zero",
+ ":src_trace_processor_metrics_gen_cc_all_chrome_metrics_descriptor",
":src_trace_processor_metrics_gen_cc_metrics_descriptor",
] + PERFETTO_CONFIG.deps.jsoncpp +
PERFETTO_CONFIG.deps.linenoise +
@@ -3285,6 +3368,7 @@
":protos_perfetto_trace_system_info_zero",
":protos_perfetto_trace_track_event_zero",
":protos_third_party_pprof_zero",
+ ":src_trace_processor_metrics_gen_cc_all_chrome_metrics_descriptor",
":src_trace_processor_metrics_gen_cc_metrics_descriptor",
] + PERFETTO_CONFIG.deps.jsoncpp +
PERFETTO_CONFIG.deps.protobuf_full +