Add support for new v8 data source
We are planning to add a new data source for the v8 Javascript engine.
V8 emits an event every time a new code snippet is generated. These
events hold enough information to be able to symbolize stack frames
during ingestion.
This patch introduces a new top level trace proto to emit said new code
events.
Bug: b/283794416
Change-Id: I2d1f9bedb2b89eafac7c89ee83cfca6c22892ab3
diff --git a/Android.bp b/Android.bp
index ee7f6b6..5c48dd4 100644
--- a/Android.bp
+++ b/Android.bp
@@ -2994,6 +2994,7 @@
srcs: [
"protos/perfetto/config/chrome/chrome_config.proto",
"protos/perfetto/config/chrome/scenario_config.proto",
+ "protos/perfetto/config/chrome/v8_config.proto",
"protos/perfetto/config/data_source_config.proto",
"protos/perfetto/config/etw/etw_config.proto",
"protos/perfetto/config/interceptor_config.proto",
@@ -3030,6 +3031,7 @@
out: [
"external/perfetto/protos/perfetto/config/chrome/chrome_config.gen.cc",
"external/perfetto/protos/perfetto/config/chrome/scenario_config.gen.cc",
+ "external/perfetto/protos/perfetto/config/chrome/v8_config.gen.cc",
"external/perfetto/protos/perfetto/config/data_source_config.gen.cc",
"external/perfetto/protos/perfetto/config/etw/etw_config.gen.cc",
"external/perfetto/protos/perfetto/config/interceptor_config.gen.cc",
@@ -3066,6 +3068,7 @@
out: [
"external/perfetto/protos/perfetto/config/chrome/chrome_config.gen.h",
"external/perfetto/protos/perfetto/config/chrome/scenario_config.gen.h",
+ "external/perfetto/protos/perfetto/config/chrome/v8_config.gen.h",
"external/perfetto/protos/perfetto/config/data_source_config.gen.h",
"external/perfetto/protos/perfetto/config/etw/etw_config.gen.h",
"external/perfetto/protos/perfetto/config/interceptor_config.gen.h",
@@ -3110,6 +3113,7 @@
"protos/perfetto/config/android/surfaceflinger_transactions_config.proto",
"protos/perfetto/config/chrome/chrome_config.proto",
"protos/perfetto/config/chrome/scenario_config.proto",
+ "protos/perfetto/config/chrome/v8_config.proto",
"protos/perfetto/config/data_source_config.proto",
"protos/perfetto/config/etw/etw_config.proto",
"protos/perfetto/config/ftrace/ftrace_config.proto",
@@ -3682,6 +3686,7 @@
srcs: [
"protos/perfetto/config/chrome/chrome_config.proto",
"protos/perfetto/config/chrome/scenario_config.proto",
+ "protos/perfetto/config/chrome/v8_config.proto",
"protos/perfetto/config/data_source_config.proto",
"protos/perfetto/config/etw/etw_config.proto",
"protos/perfetto/config/interceptor_config.proto",
@@ -3717,6 +3722,7 @@
out: [
"external/perfetto/protos/perfetto/config/chrome/chrome_config.pb.cc",
"external/perfetto/protos/perfetto/config/chrome/scenario_config.pb.cc",
+ "external/perfetto/protos/perfetto/config/chrome/v8_config.pb.cc",
"external/perfetto/protos/perfetto/config/data_source_config.pb.cc",
"external/perfetto/protos/perfetto/config/etw/etw_config.pb.cc",
"external/perfetto/protos/perfetto/config/interceptor_config.pb.cc",
@@ -3752,6 +3758,7 @@
out: [
"external/perfetto/protos/perfetto/config/chrome/chrome_config.pb.h",
"external/perfetto/protos/perfetto/config/chrome/scenario_config.pb.h",
+ "external/perfetto/protos/perfetto/config/chrome/v8_config.pb.h",
"external/perfetto/protos/perfetto/config/data_source_config.pb.h",
"external/perfetto/protos/perfetto/config/etw/etw_config.pb.h",
"external/perfetto/protos/perfetto/config/interceptor_config.pb.h",
@@ -4726,6 +4733,7 @@
srcs: [
"protos/perfetto/config/chrome/chrome_config.proto",
"protos/perfetto/config/chrome/scenario_config.proto",
+ "protos/perfetto/config/chrome/v8_config.proto",
"protos/perfetto/config/data_source_config.proto",
"protos/perfetto/config/etw/etw_config.proto",
"protos/perfetto/config/interceptor_config.proto",
@@ -4762,6 +4770,7 @@
out: [
"external/perfetto/protos/perfetto/config/chrome/chrome_config.pbzero.cc",
"external/perfetto/protos/perfetto/config/chrome/scenario_config.pbzero.cc",
+ "external/perfetto/protos/perfetto/config/chrome/v8_config.pbzero.cc",
"external/perfetto/protos/perfetto/config/data_source_config.pbzero.cc",
"external/perfetto/protos/perfetto/config/etw/etw_config.pbzero.cc",
"external/perfetto/protos/perfetto/config/interceptor_config.pbzero.cc",
@@ -4798,6 +4807,7 @@
out: [
"external/perfetto/protos/perfetto/config/chrome/chrome_config.pbzero.h",
"external/perfetto/protos/perfetto/config/chrome/scenario_config.pbzero.h",
+ "external/perfetto/protos/perfetto/config/chrome/v8_config.pbzero.h",
"external/perfetto/protos/perfetto/config/data_source_config.pbzero.h",
"external/perfetto/protos/perfetto/config/etw/etw_config.pbzero.h",
"external/perfetto/protos/perfetto/config/interceptor_config.pbzero.h",
@@ -5512,6 +5522,7 @@
"protos/perfetto/trace/chrome/chrome_benchmark_metadata.proto",
"protos/perfetto/trace/chrome/chrome_metadata.proto",
"protos/perfetto/trace/chrome/chrome_trace_event.proto",
+ "protos/perfetto/trace/chrome/v8.proto",
],
}
@@ -5530,6 +5541,7 @@
"external/perfetto/protos/perfetto/trace/chrome/chrome_benchmark_metadata.gen.cc",
"external/perfetto/protos/perfetto/trace/chrome/chrome_metadata.gen.cc",
"external/perfetto/protos/perfetto/trace/chrome/chrome_trace_event.gen.cc",
+ "external/perfetto/protos/perfetto/trace/chrome/v8.gen.cc",
],
}
@@ -5548,6 +5560,7 @@
"external/perfetto/protos/perfetto/trace/chrome/chrome_benchmark_metadata.gen.h",
"external/perfetto/protos/perfetto/trace/chrome/chrome_metadata.gen.h",
"external/perfetto/protos/perfetto/trace/chrome/chrome_trace_event.gen.h",
+ "external/perfetto/protos/perfetto/trace/chrome/v8.gen.h",
],
export_include_dirs: [
".",
@@ -5562,6 +5575,7 @@
"protos/perfetto/trace/chrome/chrome_benchmark_metadata.proto",
"protos/perfetto/trace/chrome/chrome_metadata.proto",
"protos/perfetto/trace/chrome/chrome_trace_event.proto",
+ "protos/perfetto/trace/chrome/v8.proto",
],
}
@@ -5579,6 +5593,7 @@
"external/perfetto/protos/perfetto/trace/chrome/chrome_benchmark_metadata.pb.cc",
"external/perfetto/protos/perfetto/trace/chrome/chrome_metadata.pb.cc",
"external/perfetto/protos/perfetto/trace/chrome/chrome_trace_event.pb.cc",
+ "external/perfetto/protos/perfetto/trace/chrome/v8.pb.cc",
],
}
@@ -5596,6 +5611,7 @@
"external/perfetto/protos/perfetto/trace/chrome/chrome_benchmark_metadata.pb.h",
"external/perfetto/protos/perfetto/trace/chrome/chrome_metadata.pb.h",
"external/perfetto/protos/perfetto/trace/chrome/chrome_trace_event.pb.h",
+ "external/perfetto/protos/perfetto/trace/chrome/v8.pb.h",
],
export_include_dirs: [
".",
@@ -5610,6 +5626,7 @@
"protos/perfetto/trace/chrome/chrome_benchmark_metadata.proto",
"protos/perfetto/trace/chrome/chrome_metadata.proto",
"protos/perfetto/trace/chrome/chrome_trace_event.proto",
+ "protos/perfetto/trace/chrome/v8.proto",
],
}
@@ -5628,6 +5645,7 @@
"external/perfetto/protos/perfetto/trace/chrome/chrome_benchmark_metadata.pbzero.cc",
"external/perfetto/protos/perfetto/trace/chrome/chrome_metadata.pbzero.cc",
"external/perfetto/protos/perfetto/trace/chrome/chrome_trace_event.pbzero.cc",
+ "external/perfetto/protos/perfetto/trace/chrome/v8.pbzero.cc",
],
}
@@ -5646,6 +5664,7 @@
"external/perfetto/protos/perfetto/trace/chrome/chrome_benchmark_metadata.pbzero.h",
"external/perfetto/protos/perfetto/trace/chrome/chrome_metadata.pbzero.h",
"external/perfetto/protos/perfetto/trace/chrome/chrome_trace_event.pbzero.h",
+ "external/perfetto/protos/perfetto/trace/chrome/v8.pbzero.h",
],
export_include_dirs: [
".",
@@ -5684,6 +5703,7 @@
"protos/perfetto/config/android/surfaceflinger_transactions_config.proto",
"protos/perfetto/config/chrome/chrome_config.proto",
"protos/perfetto/config/chrome/scenario_config.proto",
+ "protos/perfetto/config/chrome/v8_config.proto",
"protos/perfetto/config/data_source_config.proto",
"protos/perfetto/config/etw/etw_config.proto",
"protos/perfetto/config/ftrace/ftrace_config.proto",
@@ -5722,6 +5742,7 @@
"protos/perfetto/trace/chrome/chrome_benchmark_metadata.proto",
"protos/perfetto/trace/chrome/chrome_metadata.proto",
"protos/perfetto/trace/chrome/chrome_trace_event.proto",
+ "protos/perfetto/trace/chrome/v8.proto",
"protos/perfetto/trace/clock_snapshot.proto",
"protos/perfetto/trace/etw/etw.proto",
"protos/perfetto/trace/etw/etw_event.proto",
@@ -7053,6 +7074,7 @@
srcs: [
":perfetto_protos_perfetto_common_cpp",
":perfetto_protos_perfetto_trace_android_cpp",
+ ":perfetto_protos_perfetto_trace_chrome_cpp",
":perfetto_protos_perfetto_trace_gpu_cpp",
":perfetto_protos_perfetto_trace_interned_data_cpp",
":perfetto_protos_perfetto_trace_profiling_cpp",
@@ -7074,6 +7096,7 @@
srcs: [
":perfetto_protos_perfetto_common_cpp",
":perfetto_protos_perfetto_trace_android_cpp",
+ ":perfetto_protos_perfetto_trace_chrome_cpp",
":perfetto_protos_perfetto_trace_gpu_cpp",
":perfetto_protos_perfetto_trace_interned_data_cpp",
":perfetto_protos_perfetto_trace_profiling_cpp",
@@ -7107,6 +7130,7 @@
srcs: [
":perfetto_protos_perfetto_common_lite",
":perfetto_protos_perfetto_trace_android_lite",
+ ":perfetto_protos_perfetto_trace_chrome_lite",
":perfetto_protos_perfetto_trace_gpu_lite",
":perfetto_protos_perfetto_trace_interned_data_lite",
":perfetto_protos_perfetto_trace_profiling_lite",
@@ -7127,6 +7151,7 @@
srcs: [
":perfetto_protos_perfetto_common_lite",
":perfetto_protos_perfetto_trace_android_lite",
+ ":perfetto_protos_perfetto_trace_chrome_lite",
":perfetto_protos_perfetto_trace_gpu_lite",
":perfetto_protos_perfetto_trace_interned_data_lite",
":perfetto_protos_perfetto_trace_profiling_lite",
@@ -7159,6 +7184,7 @@
srcs: [
":perfetto_protos_perfetto_common_zero",
":perfetto_protos_perfetto_trace_android_zero",
+ ":perfetto_protos_perfetto_trace_chrome_zero",
":perfetto_protos_perfetto_trace_gpu_zero",
":perfetto_protos_perfetto_trace_interned_data_zero",
":perfetto_protos_perfetto_trace_profiling_zero",
@@ -7180,6 +7206,7 @@
srcs: [
":perfetto_protos_perfetto_common_zero",
":perfetto_protos_perfetto_trace_android_zero",
+ ":perfetto_protos_perfetto_trace_chrome_zero",
":perfetto_protos_perfetto_trace_gpu_zero",
":perfetto_protos_perfetto_trace_interned_data_zero",
":perfetto_protos_perfetto_trace_profiling_zero",
@@ -13123,6 +13150,7 @@
"protos/perfetto/config/android/surfaceflinger_transactions_config.proto",
"protos/perfetto/config/chrome/chrome_config.proto",
"protos/perfetto/config/chrome/scenario_config.proto",
+ "protos/perfetto/config/chrome/v8_config.proto",
"protos/perfetto/config/data_source_config.proto",
"protos/perfetto/config/etw/etw_config.proto",
"protos/perfetto/config/ftrace/ftrace_config.proto",
@@ -13161,6 +13189,7 @@
"protos/perfetto/trace/chrome/chrome_benchmark_metadata.proto",
"protos/perfetto/trace/chrome/chrome_metadata.proto",
"protos/perfetto/trace/chrome/chrome_trace_event.proto",
+ "protos/perfetto/trace/chrome/v8.proto",
"protos/perfetto/trace/clock_snapshot.proto",
"protos/perfetto/trace/etw/etw.proto",
"protos/perfetto/trace/etw/etw_event.proto",