shill: Add metric to track corrupted profiles
New metric Network.Shill.CorruptedProfile.
BUG=chromium-os:38669
TEST=1. Unit tests
2. Stop shill
Corrupt /var/cache/shill/default.profile by adding junk
Start shill
Verify new metric appears in chrome://histograms
Change-Id: I629ed00884ecd2d2fe90744583bd72bf2e9e6af4
Reviewed-on: https://gerrit.chromium.org/gerrit/43556
Reviewed-by: Thieu Le <thieule@chromium.org>
Tested-by: Thieu Le <thieule@chromium.org>
Commit-Queue: Thieu Le <thieule@chromium.org>
diff --git a/metrics.h b/metrics.h
index 2fdec24..9d7942f 100644
--- a/metrics.h
+++ b/metrics.h
@@ -172,6 +172,11 @@
kCellularDropTechnologyMax
};
+ enum CorruptedProfile {
+ kCorruptedProfile = 1,
+ kCorruptedProfileMax
+ };
+
static const char kMetricDisconnect[];
static const int kMetricDisconnectMax;
static const int kMetricDisconnectMin;
@@ -297,6 +302,9 @@
static const int kMetricCellularAutoConnectTotalTimeMin;
static const int kMetricCellularAutoConnectTotalTimeNumBuckets;
+ // Profile statistics.
+ static const char kMetricCorruptedProfile[];
+
explicit Metrics(EventDispatcher *dispatcher);
virtual ~Metrics();
@@ -425,6 +433,9 @@
// Notifies this object about a cellular device failure code.
void NotifyCellularDeviceFailure(const Error &error);
+ // Notifies this object about a corrupted profile.
+ virtual void NotifyCorruptedProfile();
+
// Sends linear histogram data to UMA.
virtual bool SendEnumToUMA(const std::string &name, int sample, int max);