trigger_perfetto: Add trigger_perfetto binary

Add a new binary ("trigger_perfetto") to allow programs that cannot
exec "perfetto" to trigger the end of long running traces.

Clean up a new small unreleated things:

- Fix tools/tmux support for protobuf configs
- Add a new config "background.cfg" with a stop trigger for testing
- Improve two error logs in tracing_service_impl.cc

Bug: 130543265
Change-Id: I7fde613382e2bf3041ab50a96f0a300fe8699704
diff --git a/src/perfetto_cmd/BUILD.gn b/src/perfetto_cmd/BUILD.gn
index f7c7b3a..2a5408b 100644
--- a/src/perfetto_cmd/BUILD.gn
+++ b/src/perfetto_cmd/BUILD.gn
@@ -21,6 +21,7 @@
     "../../include/perfetto/traced",
   ]
   deps = [
+    ":trigger_producer",
     "../../buildtools:protobuf_lite",
     "../../gn:default_deps",
     "../../protos/perfetto/config:lite",
@@ -38,8 +39,6 @@
     "perfetto_config.descriptor.h",
     "rate_limiter.cc",
     "rate_limiter.h",
-    "trigger_producer.cc",
-    "trigger_producer.h",
   ]
   if (perfetto_build_with_android) {
     deps += [ "../base:android_task_runner" ]
@@ -51,6 +50,36 @@
   }
 }
 
+source_set("trigger_perfetto_cmd") {
+  public_deps = [
+    ":protos",
+    "../../include/perfetto/traced",
+  ]
+  deps = [
+    ":trigger_producer",
+    "../../gn:default_deps",
+    "../base",
+    "../tracing:ipc",
+  ]
+  sources = [
+    "trigger_perfetto.cc",
+  ]
+}
+
+source_set("trigger_producer") {
+  sources = [
+    "trigger_producer.cc",
+    "trigger_producer.h",
+  ]
+  deps = [
+    "../../buildtools:protobuf_lite",
+    "../../gn:default_deps",
+    "../../protos/perfetto/config:lite",
+    "../base",
+    "../tracing:ipc",
+  ]
+}
+
 proto_library("protos") {
   generate_python = false
   deps = []