perfetto: add instrumentation for trigger_perfetto
This CL adds instrumentation for trigger_perfetto to report the count of
triggers.
Doc: go/perfetto-monitoring
Bug: 174150911
Change-Id: I7a4c7f72d062137364ecedba59c31d360e0c1f08
diff --git a/Android.bp b/Android.bp
index 92b7a3d..7ed5230 100644
--- a/Android.bp
+++ b/Android.bp
@@ -9300,6 +9300,10 @@
":perfetto_protos_perfetto_trace_system_info_zero_gen",
":perfetto_protos_perfetto_trace_track_event_cpp_gen",
":perfetto_protos_perfetto_trace_track_event_zero_gen",
+ ":perfetto_src_android_internal_headers",
+ ":perfetto_src_android_internal_lazy_library_loader",
+ ":perfetto_src_android_stats_android_stats",
+ ":perfetto_src_android_stats_perfetto_atoms",
":perfetto_src_base_base",
":perfetto_src_base_unix_socket",
":perfetto_src_ipc_client",
diff --git a/src/perfetto_cmd/BUILD.gn b/src/perfetto_cmd/BUILD.gn
index dafa0aa..ca60ae7 100644
--- a/src/perfetto_cmd/BUILD.gn
+++ b/src/perfetto_cmd/BUILD.gn
@@ -88,6 +88,7 @@
deps = [
":trigger_producer",
"../../gn:default_deps",
+ "../android_stats",
"../base",
"../tracing/ipc/producer",
]
diff --git a/src/perfetto_cmd/trigger_perfetto.cc b/src/perfetto_cmd/trigger_perfetto.cc
index 39f6d04..cbe4032 100644
--- a/src/perfetto_cmd/trigger_perfetto.cc
+++ b/src/perfetto_cmd/trigger_perfetto.cc
@@ -22,6 +22,7 @@
#include "perfetto/base/logging.h"
#include "perfetto/ext/base/unix_task_runner.h"
#include "perfetto/ext/traced/traced.h"
+#include "src/android_stats/statsd_logging_helper.h"
#include "src/perfetto_cmd/trigger_producer.h"
namespace perfetto {
@@ -65,6 +66,9 @@
return PrintUsage(argv[0]);
}
+ android_stats::MaybeLogTriggerEvents(
+ PerfettoTriggerAtom::kTriggerPerfettoTrigger, triggers_to_activate);
+
bool finished_with_success = false;
base::UnixTaskRunner task_runner;
TriggerProducer producer(
@@ -76,7 +80,12 @@
&triggers_to_activate);
task_runner.Run();
- return finished_with_success ? 0 : 1;
+ if (!finished_with_success) {
+ android_stats::MaybeLogTriggerEvents(
+ PerfettoTriggerAtom::kTriggerPerfettoTriggerFail, triggers_to_activate);
+ return 1;
+ }
+ return 0;
}
} // namespace perfetto