shill: metrics: Collect termination action statistics
When shill terminates, it executes a set of termination actions that
were queued while it was running (e.g. a cellular device queues a
disconnection request as an action). This CL adds code to track the
percentage of termination actions that succeed within the given timeout
period for termination.
BUG=chromium-os:31475
TEST=Manually tested changes via chrome://histograms
Change-Id: Id2d5e5fef2a02a2d1e4b6a17c8a1366c9ac6676e
Reviewed-on: https://gerrit.chromium.org/gerrit/33225
Reviewed-by: Ben Chan <benchan@chromium.org>
Reviewed-by: Gary Morain <gmorain@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
Commit-Ready: Arman Uguray <armansito@chromium.org>
diff --git a/metrics.h b/metrics.h
index a433dd8..16067e0 100644
--- a/metrics.h
+++ b/metrics.h
@@ -139,6 +139,12 @@
kDisconnectedNotByAp
};
+ enum TerminationActionResult {
+ kTerminationActionSuccess,
+ kTerminationActionFailure,
+ kTerminationActionResultMax
+ };
+
static const char kMetricDisconnect[];
static const int kMetricDisconnectMax;
static const int kMetricDisconnectMin;
@@ -209,6 +215,9 @@
static const char kMetricLinkClientDisconnectType[];
static const char kMetricLinkApDisconnectType[];
+ // Shill termination action statistics.
+ static const char kMetricTerminationActionResult[];
+
Metrics();
virtual ~Metrics();