Add lazy startup producer class to traced.

This is sufficiently different to the heapprofd system properties to warrant
a parallel implementation.
heapprofd requires a global property that signals whether to profile at all or
whether to profile all processes.

Change-Id: I5ff5e317b9cd99310b145b5501bff3f4afccb56d
Bug: 126724929
diff --git a/Android.bp b/Android.bp
index d450d6f..aa87928 100644
--- a/Android.bp
+++ b/Android.bp
@@ -276,6 +276,7 @@
     "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/traced/service/lazy_producer.cc",
     "src/traced/service/service.cc",
     "src/tracing/api_impl/consumer_api.cc",
     "src/tracing/core/android_log_config.cc",
@@ -2940,6 +2941,9 @@
     "src/traced/probes/ps/process_stats_data_source_unittest.cc",
     "src/traced/probes/sys_stats/sys_stats_data_source.cc",
     "src/traced/probes/sys_stats/sys_stats_data_source_unittest.cc",
+    "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",