shill: cellular: Track auto-connect metrics.
Network.Shill.Cellular.AutoConnectTries and
Network.Shill.Cellular.AutoConnectTotalTime.
BUG=chromium-os:38406
TEST=Connect modem via auto-connect and check chrome://histograms
Change-Id: I79c2db2b8f4897779275675c9c0fb6278298d462
Reviewed-on: https://gerrit.chromium.org/gerrit/42361
Commit-Queue: Thieu Le <thieule@chromium.org>
Reviewed-by: Thieu Le <thieule@chromium.org>
Tested-by: Thieu Le <thieule@chromium.org>
diff --git a/metrics.h b/metrics.h
index bd81924..57c1ce7 100644
--- a/metrics.h
+++ b/metrics.h
@@ -282,6 +282,14 @@
static const int kMetricCellularSignalStrengthBeforeDropMax;
static const int kMetricCellularSignalStrengthBeforeDropMin;
static const int kMetricCellularSignalStrengthBeforeDropNumBuckets;
+ static const char kMetricCellularAutoConnectTries[];
+ static const int kMetricCellularAutoConnectTriesMax;
+ static const int kMetricCellularAutoConnectTriesMin;
+ static const int kMetricCellularAutoConnectTriesNumBuckets;
+ static const char kMetricCellularAutoConnectTotalTime[];
+ static const int kMetricCellularAutoConnectTotalTimeMax;
+ static const int kMetricCellularAutoConnectTotalTimeMin;
+ static const int kMetricCellularAutoConnectTotalTimeNumBuckets;
Metrics();
virtual ~Metrics();
@@ -390,7 +398,8 @@
void NotifyDeviceScanFinished(int interface_index);
// Notifies this object that a device has started the connect process.
- void NotifyDeviceConnectStarted(int interface_index);
+ void NotifyDeviceConnectStarted(int interface_index,
+ bool is_auto_connecting);
// Notifies this object that a device has completed the connect process.
void NotifyDeviceConnectFinished(int interface_index);
@@ -447,6 +456,8 @@
scoped_ptr<chromeos_metrics::TimerReporter> disable_timer;
scoped_ptr<chromeos_metrics::TimerReporter> scan_timer;
scoped_ptr<chromeos_metrics::TimerReporter> connect_timer;
+ int auto_connect_tries;
+ scoped_ptr<chromeos_metrics::TimerReporter> auto_connect_timer;
};
typedef std::map<const int, std::tr1::shared_ptr<DeviceMetrics> >
DeviceMetricsLookupMap;
@@ -472,6 +483,7 @@
void SendServiceFailure(const Service *service);
DeviceMetrics *GetDeviceMetrics (int interface_index) const;
+ void AutoConnectMetricsReset(DeviceMetrics *device_metrics);
// For unit test purposes.
void set_library(MetricsLibraryInterface *library);