Stop generating data-source specific C++ classes in tracing/core

We generate C++ classes from proto for a bunch of core classes
like DataSourceConfig, DataSourceDescriptor etc. This is to
prevent spreading protobuf dependencies all over the places.
However, at some point in the past we started adding data-source
specific sub-messages to DataSourceConfig and doing to required
to generate C++ classes for things that don't really belong to
tracing/core (e.g. FtraceConfig, SysStatsConfig, etc).

This CL introduces a decoupling using a proto annotation [lazy=true].
When fields are annotated as such, the generated C++ stub exposes
the field as a raw byte array. This allows to break the dependency
between tracing/core and those configs and pushes the decoding
responsibility to the actual data sources.

This is a step towards getting rid of libprotobuf dependencies
in tracing/core for the client library.
Note that at the moment the generated classes still depend on
libprotobuf for the FromProto / ToProto conversions.

Bug: 132880619
Change-Id: I29751565277e7cb60928571e3eaf513477cf9968
diff --git a/Android.bp b/Android.bp
index f20749c..d95ab75 100644
--- a/Android.bp
+++ b/Android.bp
@@ -80,6 +80,7 @@
     "src/ipc/virtual_destructors.cc",
     "src/profiling/memory/bookkeeping.cc",
     "src/profiling/memory/bookkeeping_dump.cc",
+    "src/profiling/memory/heapprofd_config.cc",
     "src/profiling/memory/heapprofd_producer.cc",
     "src/profiling/memory/main.cc",
     "src/profiling/memory/page_idle_checker.cc",
@@ -96,26 +97,19 @@
     "src/protozero/scattered_heap_buffer.cc",
     "src/protozero/scattered_stream_null_delegate.cc",
     "src/protozero/scattered_stream_writer.cc",
-    "src/tracing/core/android_log_config.cc",
-    "src/tracing/core/android_power_config.cc",
     "src/tracing/core/chrome_config.cc",
     "src/tracing/core/commit_data_request.cc",
     "src/tracing/core/data_source_config.cc",
     "src/tracing/core/data_source_descriptor.cc",
-    "src/tracing/core/ftrace_config.cc",
-    "src/tracing/core/heapprofd_config.cc",
     "src/tracing/core/id_allocator.cc",
-    "src/tracing/core/inode_file_config.cc",
     "src/tracing/core/null_trace_writer.cc",
     "src/tracing/core/observable_events.cc",
     "src/tracing/core/packet_stream_validator.cc",
-    "src/tracing/core/process_stats_config.cc",
     "src/tracing/core/shared_memory_abi.cc",
     "src/tracing/core/shared_memory_arbiter_impl.cc",
     "src/tracing/core/sliced_protobuf_input_stream.cc",
     "src/tracing/core/startup_trace_writer.cc",
     "src/tracing/core/startup_trace_writer_registry.cc",
-    "src/tracing/core/sys_stats_config.cc",
     "src/tracing/core/test_config.cc",
     "src/tracing/core/trace_buffer.cc",
     "src/tracing/core/trace_config.cc",
@@ -285,6 +279,7 @@
     "src/traced/probes/ftrace/format_parser.cc",
     "src/traced/probes/ftrace/ftrace_config.cc",
     "src/traced/probes/ftrace/ftrace_config_muxer.cc",
+    "src/traced/probes/ftrace/ftrace_config_utils.cc",
     "src/traced/probes/ftrace/ftrace_controller.cc",
     "src/traced/probes/ftrace/ftrace_data_source.cc",
     "src/traced/probes/ftrace/ftrace_metadata.cc",
@@ -302,26 +297,19 @@
     "src/traced/service/lazy_producer.cc",
     "src/traced/service/service.cc",
     "src/tracing/api_impl/consumer_api.cc",
-    "src/tracing/core/android_log_config.cc",
-    "src/tracing/core/android_power_config.cc",
     "src/tracing/core/chrome_config.cc",
     "src/tracing/core/commit_data_request.cc",
     "src/tracing/core/data_source_config.cc",
     "src/tracing/core/data_source_descriptor.cc",
-    "src/tracing/core/ftrace_config.cc",
-    "src/tracing/core/heapprofd_config.cc",
     "src/tracing/core/id_allocator.cc",
-    "src/tracing/core/inode_file_config.cc",
     "src/tracing/core/null_trace_writer.cc",
     "src/tracing/core/observable_events.cc",
     "src/tracing/core/packet_stream_validator.cc",
-    "src/tracing/core/process_stats_config.cc",
     "src/tracing/core/shared_memory_abi.cc",
     "src/tracing/core/shared_memory_arbiter_impl.cc",
     "src/tracing/core/sliced_protobuf_input_stream.cc",
     "src/tracing/core/startup_trace_writer.cc",
     "src/tracing/core/startup_trace_writer_registry.cc",
-    "src/tracing/core/sys_stats_config.cc",
     "src/tracing/core/test_config.cc",
     "src/tracing/core/trace_buffer.cc",
     "src/tracing/core/trace_config.cc",
@@ -459,26 +447,19 @@
     "src/protozero/scattered_heap_buffer.cc",
     "src/protozero/scattered_stream_null_delegate.cc",
     "src/protozero/scattered_stream_writer.cc",
-    "src/tracing/core/android_log_config.cc",
-    "src/tracing/core/android_power_config.cc",
     "src/tracing/core/chrome_config.cc",
     "src/tracing/core/commit_data_request.cc",
     "src/tracing/core/data_source_config.cc",
     "src/tracing/core/data_source_descriptor.cc",
-    "src/tracing/core/ftrace_config.cc",
-    "src/tracing/core/heapprofd_config.cc",
     "src/tracing/core/id_allocator.cc",
-    "src/tracing/core/inode_file_config.cc",
     "src/tracing/core/null_trace_writer.cc",
     "src/tracing/core/observable_events.cc",
     "src/tracing/core/packet_stream_validator.cc",
-    "src/tracing/core/process_stats_config.cc",
     "src/tracing/core/shared_memory_abi.cc",
     "src/tracing/core/shared_memory_arbiter_impl.cc",
     "src/tracing/core/sliced_protobuf_input_stream.cc",
     "src/tracing/core/startup_trace_writer.cc",
     "src/tracing/core/startup_trace_writer_registry.cc",
-    "src/tracing/core/sys_stats_config.cc",
     "src/tracing/core/test_config.cc",
     "src/tracing/core/trace_buffer.cc",
     "src/tracing/core/trace_config.cc",
@@ -620,6 +601,7 @@
     "src/profiling/memory/bookkeeping.cc",
     "src/profiling/memory/bookkeeping_dump.cc",
     "src/profiling/memory/client.cc",
+    "src/profiling/memory/heapprofd_config.cc",
     "src/profiling/memory/heapprofd_end_to_end_test.cc",
     "src/profiling/memory/heapprofd_producer.cc",
     "src/profiling/memory/page_idle_checker.cc",
@@ -652,6 +634,7 @@
     "src/traced/probes/ftrace/format_parser.cc",
     "src/traced/probes/ftrace/ftrace_config.cc",
     "src/traced/probes/ftrace/ftrace_config_muxer.cc",
+    "src/traced/probes/ftrace/ftrace_config_utils.cc",
     "src/traced/probes/ftrace/ftrace_controller.cc",
     "src/traced/probes/ftrace/ftrace_data_source.cc",
     "src/traced/probes/ftrace/ftrace_metadata.cc",
@@ -667,26 +650,19 @@
     "src/traced/probes/probes_producer.cc",
     "src/traced/probes/ps/process_stats_data_source.cc",
     "src/traced/probes/sys_stats/sys_stats_data_source.cc",
-    "src/tracing/core/android_log_config.cc",
-    "src/tracing/core/android_power_config.cc",
     "src/tracing/core/chrome_config.cc",
     "src/tracing/core/commit_data_request.cc",
     "src/tracing/core/data_source_config.cc",
     "src/tracing/core/data_source_descriptor.cc",
-    "src/tracing/core/ftrace_config.cc",
-    "src/tracing/core/heapprofd_config.cc",
     "src/tracing/core/id_allocator.cc",
-    "src/tracing/core/inode_file_config.cc",
     "src/tracing/core/null_trace_writer.cc",
     "src/tracing/core/observable_events.cc",
     "src/tracing/core/packet_stream_validator.cc",
-    "src/tracing/core/process_stats_config.cc",
     "src/tracing/core/shared_memory_abi.cc",
     "src/tracing/core/shared_memory_arbiter_impl.cc",
     "src/tracing/core/sliced_protobuf_input_stream.cc",
     "src/tracing/core/startup_trace_writer.cc",
     "src/tracing/core/startup_trace_writer_registry.cc",
-    "src/tracing/core/sys_stats_config.cc",
     "src/tracing/core/test_config.cc",
     "src/tracing/core/trace_buffer.cc",
     "src/tracing/core/trace_config.cc",
@@ -2702,26 +2678,19 @@
     "src/protozero/scattered_heap_buffer.cc",
     "src/protozero/scattered_stream_null_delegate.cc",
     "src/protozero/scattered_stream_writer.cc",
-    "src/tracing/core/android_log_config.cc",
-    "src/tracing/core/android_power_config.cc",
     "src/tracing/core/chrome_config.cc",
     "src/tracing/core/commit_data_request.cc",
     "src/tracing/core/data_source_config.cc",
     "src/tracing/core/data_source_descriptor.cc",
-    "src/tracing/core/ftrace_config.cc",
-    "src/tracing/core/heapprofd_config.cc",
     "src/tracing/core/id_allocator.cc",
-    "src/tracing/core/inode_file_config.cc",
     "src/tracing/core/null_trace_writer.cc",
     "src/tracing/core/observable_events.cc",
     "src/tracing/core/packet_stream_validator.cc",
-    "src/tracing/core/process_stats_config.cc",
     "src/tracing/core/shared_memory_abi.cc",
     "src/tracing/core/shared_memory_arbiter_impl.cc",
     "src/tracing/core/sliced_protobuf_input_stream.cc",
     "src/tracing/core/startup_trace_writer.cc",
     "src/tracing/core/startup_trace_writer_registry.cc",
-    "src/tracing/core/sys_stats_config.cc",
     "src/tracing/core/test_config.cc",
     "src/tracing/core/trace_buffer.cc",
     "src/tracing/core/trace_config.cc",
@@ -2968,6 +2937,7 @@
     "src/profiling/memory/bookkeeping_unittest.cc",
     "src/profiling/memory/client.cc",
     "src/profiling/memory/client_unittest.cc",
+    "src/profiling/memory/heapprofd_config.cc",
     "src/profiling/memory/heapprofd_producer.cc",
     "src/profiling/memory/heapprofd_producer_unittest.cc",
     "src/profiling/memory/interner_unittest.cc",
@@ -3028,6 +2998,7 @@
     "src/traced/probes/ftrace/ftrace_config_muxer.cc",
     "src/traced/probes/ftrace/ftrace_config_muxer_unittest.cc",
     "src/traced/probes/ftrace/ftrace_config_unittest.cc",
+    "src/traced/probes/ftrace/ftrace_config_utils.cc",
     "src/traced/probes/ftrace/ftrace_controller.cc",
     "src/traced/probes/ftrace/ftrace_controller_unittest.cc",
     "src/traced/probes/ftrace/ftrace_data_source.cc",
@@ -3052,24 +3023,18 @@
     "src/traced/service/lazy_producer.cc",
     "src/traced/service/lazy_producer_unittest.cc",
     "src/traced/service/service.cc",
-    "src/tracing/core/android_log_config.cc",
-    "src/tracing/core/android_power_config.cc",
     "src/tracing/core/chrome_config.cc",
     "src/tracing/core/commit_data_request.cc",
     "src/tracing/core/data_source_config.cc",
     "src/tracing/core/data_source_descriptor.cc",
-    "src/tracing/core/ftrace_config.cc",
-    "src/tracing/core/heapprofd_config.cc",
     "src/tracing/core/id_allocator.cc",
     "src/tracing/core/id_allocator_unittest.cc",
-    "src/tracing/core/inode_file_config.cc",
     "src/tracing/core/null_trace_writer.cc",
     "src/tracing/core/null_trace_writer_unittest.cc",
     "src/tracing/core/observable_events.cc",
     "src/tracing/core/packet_stream_validator.cc",
     "src/tracing/core/packet_stream_validator_unittest.cc",
     "src/tracing/core/patch_list_unittest.cc",
-    "src/tracing/core/process_stats_config.cc",
     "src/tracing/core/shared_memory_abi.cc",
     "src/tracing/core/shared_memory_abi_unittest.cc",
     "src/tracing/core/shared_memory_arbiter_impl.cc",
@@ -3079,7 +3044,6 @@
     "src/tracing/core/startup_trace_writer.cc",
     "src/tracing/core/startup_trace_writer_registry.cc",
     "src/tracing/core/startup_trace_writer_unittest.cc",
-    "src/tracing/core/sys_stats_config.cc",
     "src/tracing/core/test_config.cc",
     "src/tracing/core/trace_buffer.cc",
     "src/tracing/core/trace_buffer_unittest.cc",
@@ -3439,26 +3403,19 @@
     "src/protozero/scattered_heap_buffer.cc",
     "src/protozero/scattered_stream_null_delegate.cc",
     "src/protozero/scattered_stream_writer.cc",
-    "src/tracing/core/android_log_config.cc",
-    "src/tracing/core/android_power_config.cc",
     "src/tracing/core/chrome_config.cc",
     "src/tracing/core/commit_data_request.cc",
     "src/tracing/core/data_source_config.cc",
     "src/tracing/core/data_source_descriptor.cc",
-    "src/tracing/core/ftrace_config.cc",
-    "src/tracing/core/heapprofd_config.cc",
     "src/tracing/core/id_allocator.cc",
-    "src/tracing/core/inode_file_config.cc",
     "src/tracing/core/null_trace_writer.cc",
     "src/tracing/core/observable_events.cc",
     "src/tracing/core/packet_stream_validator.cc",
-    "src/tracing/core/process_stats_config.cc",
     "src/tracing/core/shared_memory_abi.cc",
     "src/tracing/core/shared_memory_arbiter_impl.cc",
     "src/tracing/core/sliced_protobuf_input_stream.cc",
     "src/tracing/core/startup_trace_writer.cc",
     "src/tracing/core/startup_trace_writer_registry.cc",
-    "src/tracing/core/sys_stats_config.cc",
     "src/tracing/core/test_config.cc",
     "src/tracing/core/trace_buffer.cc",
     "src/tracing/core/trace_config.cc",