TracedValue.
Add a class for writing JSON-like structured data traces, composed from
primitive types like integers and strings as well as complex types like
dicts and arrays.
R=primiano@google.com,eseckler@google.com,skyostil@google.com
Change-Id: I85b011fb828f60ff570185d51ebf47b7dc074b7a
diff --git a/Android.bp b/Android.bp
index 221cbb3..db620dd 100644
--- a/Android.bp
+++ b/Android.bp
@@ -8162,6 +8162,7 @@
"src/tracing/internal/tracing_muxer_impl.cc",
"src/tracing/internal/track_event_internal.cc",
"src/tracing/platform.cc",
+ "src/tracing/traced_value.cc",
"src/tracing/tracing.cc",
"src/tracing/track.cc",
"src/tracing/track_event_category_registry.cc",
@@ -8344,6 +8345,14 @@
],
}
+// GN: //src/tracing:unittests
+filegroup {
+ name: "perfetto_src_tracing_unittests",
+ srcs: [
+ "src/tracing/traced_value_unittest.cc",
+ ],
+}
+
// GN: //test:end_to_end_integrationtests
filegroup {
name: "perfetto_test_end_to_end_integrationtests",
@@ -8543,63 +8552,90 @@
":perfetto_include_perfetto_tracing_core_forward_decls",
":perfetto_include_perfetto_tracing_tracing",
":perfetto_protos_perfetto_common_cpp_gen",
+ ":perfetto_protos_perfetto_common_lite_gen",
":perfetto_protos_perfetto_common_zero_gen",
":perfetto_protos_perfetto_config_android_cpp_gen",
+ ":perfetto_protos_perfetto_config_android_lite_gen",
":perfetto_protos_perfetto_config_android_zero_gen",
":perfetto_protos_perfetto_config_cpp_gen",
":perfetto_protos_perfetto_config_ftrace_cpp_gen",
+ ":perfetto_protos_perfetto_config_ftrace_lite_gen",
":perfetto_protos_perfetto_config_ftrace_zero_gen",
":perfetto_protos_perfetto_config_gpu_cpp_gen",
+ ":perfetto_protos_perfetto_config_gpu_lite_gen",
":perfetto_protos_perfetto_config_gpu_zero_gen",
":perfetto_protos_perfetto_config_inode_file_cpp_gen",
+ ":perfetto_protos_perfetto_config_inode_file_lite_gen",
":perfetto_protos_perfetto_config_inode_file_zero_gen",
":perfetto_protos_perfetto_config_interceptors_cpp_gen",
+ ":perfetto_protos_perfetto_config_interceptors_lite_gen",
":perfetto_protos_perfetto_config_interceptors_zero_gen",
+ ":perfetto_protos_perfetto_config_lite_gen",
":perfetto_protos_perfetto_config_power_cpp_gen",
+ ":perfetto_protos_perfetto_config_power_lite_gen",
":perfetto_protos_perfetto_config_power_zero_gen",
":perfetto_protos_perfetto_config_process_stats_cpp_gen",
+ ":perfetto_protos_perfetto_config_process_stats_lite_gen",
":perfetto_protos_perfetto_config_process_stats_zero_gen",
":perfetto_protos_perfetto_config_profiling_cpp_gen",
+ ":perfetto_protos_perfetto_config_profiling_lite_gen",
":perfetto_protos_perfetto_config_profiling_zero_gen",
":perfetto_protos_perfetto_config_sys_stats_cpp_gen",
+ ":perfetto_protos_perfetto_config_sys_stats_lite_gen",
":perfetto_protos_perfetto_config_sys_stats_zero_gen",
":perfetto_protos_perfetto_config_track_event_cpp_gen",
+ ":perfetto_protos_perfetto_config_track_event_lite_gen",
":perfetto_protos_perfetto_config_track_event_zero_gen",
":perfetto_protos_perfetto_config_zero_gen",
":perfetto_protos_perfetto_ipc_cpp_gen",
":perfetto_protos_perfetto_ipc_ipc_gen",
":perfetto_protos_perfetto_ipc_wire_protocol_cpp_gen",
":perfetto_protos_perfetto_trace_android_cpp_gen",
+ ":perfetto_protos_perfetto_trace_android_lite_gen",
":perfetto_protos_perfetto_trace_android_zero_gen",
":perfetto_protos_perfetto_trace_chrome_cpp_gen",
+ ":perfetto_protos_perfetto_trace_chrome_lite_gen",
":perfetto_protos_perfetto_trace_chrome_zero_gen",
":perfetto_protos_perfetto_trace_filesystem_cpp_gen",
+ ":perfetto_protos_perfetto_trace_filesystem_lite_gen",
":perfetto_protos_perfetto_trace_filesystem_zero_gen",
":perfetto_protos_perfetto_trace_ftrace_cpp_gen",
+ ":perfetto_protos_perfetto_trace_ftrace_lite_gen",
":perfetto_protos_perfetto_trace_ftrace_zero_gen",
":perfetto_protos_perfetto_trace_gpu_cpp_gen",
+ ":perfetto_protos_perfetto_trace_gpu_lite_gen",
":perfetto_protos_perfetto_trace_gpu_zero_gen",
":perfetto_protos_perfetto_trace_interned_data_cpp_gen",
+ ":perfetto_protos_perfetto_trace_interned_data_lite_gen",
":perfetto_protos_perfetto_trace_interned_data_zero_gen",
":perfetto_protos_perfetto_trace_minimal_cpp_gen",
+ ":perfetto_protos_perfetto_trace_minimal_lite_gen",
":perfetto_protos_perfetto_trace_minimal_zero_gen",
":perfetto_protos_perfetto_trace_non_minimal_cpp_gen",
+ ":perfetto_protos_perfetto_trace_non_minimal_lite_gen",
":perfetto_protos_perfetto_trace_non_minimal_zero_gen",
":perfetto_protos_perfetto_trace_perfetto_cpp_gen",
+ ":perfetto_protos_perfetto_trace_perfetto_lite_gen",
":perfetto_protos_perfetto_trace_perfetto_zero_gen",
":perfetto_protos_perfetto_trace_power_cpp_gen",
+ ":perfetto_protos_perfetto_trace_power_lite_gen",
":perfetto_protos_perfetto_trace_power_zero_gen",
":perfetto_protos_perfetto_trace_processor_metrics_impl_zero_gen",
":perfetto_protos_perfetto_trace_processor_zero_gen",
":perfetto_protos_perfetto_trace_profiling_cpp_gen",
+ ":perfetto_protos_perfetto_trace_profiling_lite_gen",
":perfetto_protos_perfetto_trace_profiling_zero_gen",
":perfetto_protos_perfetto_trace_ps_cpp_gen",
+ ":perfetto_protos_perfetto_trace_ps_lite_gen",
":perfetto_protos_perfetto_trace_ps_zero_gen",
":perfetto_protos_perfetto_trace_sys_stats_cpp_gen",
+ ":perfetto_protos_perfetto_trace_sys_stats_lite_gen",
":perfetto_protos_perfetto_trace_sys_stats_zero_gen",
":perfetto_protos_perfetto_trace_system_info_cpp_gen",
+ ":perfetto_protos_perfetto_trace_system_info_lite_gen",
":perfetto_protos_perfetto_trace_system_info_zero_gen",
":perfetto_protos_perfetto_trace_track_event_cpp_gen",
+ ":perfetto_protos_perfetto_trace_track_event_lite_gen",
":perfetto_protos_perfetto_trace_track_event_zero_gen",
":perfetto_src_android_internal_headers",
":perfetto_src_android_internal_lazy_library_loader",
@@ -8728,6 +8764,7 @@
":perfetto_src_tracing_platform_impl",
":perfetto_src_tracing_test_test_support",
":perfetto_src_tracing_test_tracing_integration_test",
+ ":perfetto_src_tracing_unittests",
":perfetto_tools_sanitizers_unittests_sanitizers_unittests",
],
shared_libs: [
@@ -8750,63 +8787,90 @@
],
generated_headers: [
"perfetto_protos_perfetto_common_cpp_gen_headers",
+ "perfetto_protos_perfetto_common_lite_gen_headers",
"perfetto_protos_perfetto_common_zero_gen_headers",
"perfetto_protos_perfetto_config_android_cpp_gen_headers",
+ "perfetto_protos_perfetto_config_android_lite_gen_headers",
"perfetto_protos_perfetto_config_android_zero_gen_headers",
"perfetto_protos_perfetto_config_cpp_gen_headers",
"perfetto_protos_perfetto_config_ftrace_cpp_gen_headers",
+ "perfetto_protos_perfetto_config_ftrace_lite_gen_headers",
"perfetto_protos_perfetto_config_ftrace_zero_gen_headers",
"perfetto_protos_perfetto_config_gpu_cpp_gen_headers",
+ "perfetto_protos_perfetto_config_gpu_lite_gen_headers",
"perfetto_protos_perfetto_config_gpu_zero_gen_headers",
"perfetto_protos_perfetto_config_inode_file_cpp_gen_headers",
+ "perfetto_protos_perfetto_config_inode_file_lite_gen_headers",
"perfetto_protos_perfetto_config_inode_file_zero_gen_headers",
"perfetto_protos_perfetto_config_interceptors_cpp_gen_headers",
+ "perfetto_protos_perfetto_config_interceptors_lite_gen_headers",
"perfetto_protos_perfetto_config_interceptors_zero_gen_headers",
+ "perfetto_protos_perfetto_config_lite_gen_headers",
"perfetto_protos_perfetto_config_power_cpp_gen_headers",
+ "perfetto_protos_perfetto_config_power_lite_gen_headers",
"perfetto_protos_perfetto_config_power_zero_gen_headers",
"perfetto_protos_perfetto_config_process_stats_cpp_gen_headers",
+ "perfetto_protos_perfetto_config_process_stats_lite_gen_headers",
"perfetto_protos_perfetto_config_process_stats_zero_gen_headers",
"perfetto_protos_perfetto_config_profiling_cpp_gen_headers",
+ "perfetto_protos_perfetto_config_profiling_lite_gen_headers",
"perfetto_protos_perfetto_config_profiling_zero_gen_headers",
"perfetto_protos_perfetto_config_sys_stats_cpp_gen_headers",
+ "perfetto_protos_perfetto_config_sys_stats_lite_gen_headers",
"perfetto_protos_perfetto_config_sys_stats_zero_gen_headers",
"perfetto_protos_perfetto_config_track_event_cpp_gen_headers",
+ "perfetto_protos_perfetto_config_track_event_lite_gen_headers",
"perfetto_protos_perfetto_config_track_event_zero_gen_headers",
"perfetto_protos_perfetto_config_zero_gen_headers",
"perfetto_protos_perfetto_ipc_cpp_gen_headers",
"perfetto_protos_perfetto_ipc_ipc_gen_headers",
"perfetto_protos_perfetto_ipc_wire_protocol_cpp_gen_headers",
"perfetto_protos_perfetto_trace_android_cpp_gen_headers",
+ "perfetto_protos_perfetto_trace_android_lite_gen_headers",
"perfetto_protos_perfetto_trace_android_zero_gen_headers",
"perfetto_protos_perfetto_trace_chrome_cpp_gen_headers",
+ "perfetto_protos_perfetto_trace_chrome_lite_gen_headers",
"perfetto_protos_perfetto_trace_chrome_zero_gen_headers",
"perfetto_protos_perfetto_trace_filesystem_cpp_gen_headers",
+ "perfetto_protos_perfetto_trace_filesystem_lite_gen_headers",
"perfetto_protos_perfetto_trace_filesystem_zero_gen_headers",
"perfetto_protos_perfetto_trace_ftrace_cpp_gen_headers",
+ "perfetto_protos_perfetto_trace_ftrace_lite_gen_headers",
"perfetto_protos_perfetto_trace_ftrace_zero_gen_headers",
"perfetto_protos_perfetto_trace_gpu_cpp_gen_headers",
+ "perfetto_protos_perfetto_trace_gpu_lite_gen_headers",
"perfetto_protos_perfetto_trace_gpu_zero_gen_headers",
"perfetto_protos_perfetto_trace_interned_data_cpp_gen_headers",
+ "perfetto_protos_perfetto_trace_interned_data_lite_gen_headers",
"perfetto_protos_perfetto_trace_interned_data_zero_gen_headers",
"perfetto_protos_perfetto_trace_minimal_cpp_gen_headers",
+ "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
"perfetto_protos_perfetto_trace_minimal_zero_gen_headers",
"perfetto_protos_perfetto_trace_non_minimal_cpp_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_cpp_gen_headers",
+ "perfetto_protos_perfetto_trace_perfetto_lite_gen_headers",
"perfetto_protos_perfetto_trace_perfetto_zero_gen_headers",
"perfetto_protos_perfetto_trace_power_cpp_gen_headers",
+ "perfetto_protos_perfetto_trace_power_lite_gen_headers",
"perfetto_protos_perfetto_trace_power_zero_gen_headers",
"perfetto_protos_perfetto_trace_processor_metrics_impl_zero_gen_headers",
"perfetto_protos_perfetto_trace_processor_zero_gen_headers",
"perfetto_protos_perfetto_trace_profiling_cpp_gen_headers",
+ "perfetto_protos_perfetto_trace_profiling_lite_gen_headers",
"perfetto_protos_perfetto_trace_profiling_zero_gen_headers",
"perfetto_protos_perfetto_trace_ps_cpp_gen_headers",
+ "perfetto_protos_perfetto_trace_ps_lite_gen_headers",
"perfetto_protos_perfetto_trace_ps_zero_gen_headers",
"perfetto_protos_perfetto_trace_sys_stats_cpp_gen_headers",
+ "perfetto_protos_perfetto_trace_sys_stats_lite_gen_headers",
"perfetto_protos_perfetto_trace_sys_stats_zero_gen_headers",
"perfetto_protos_perfetto_trace_system_info_cpp_gen_headers",
+ "perfetto_protos_perfetto_trace_system_info_lite_gen_headers",
"perfetto_protos_perfetto_trace_system_info_zero_gen_headers",
"perfetto_protos_perfetto_trace_track_event_cpp_gen_headers",
+ "perfetto_protos_perfetto_trace_track_event_lite_gen_headers",
"perfetto_protos_perfetto_trace_track_event_zero_gen_headers",
"perfetto_src_base_version_gen_h",
"perfetto_src_ipc_test_messages_cpp_gen_headers",