shill: cellular: Add Network.Shill.Cellular.DropsPerHour.
BUG=chromium-os:38557
TEST=Unit tests, manually lose LTE signal and check chrome://histograms
Change-Id: I82aa1edabd21c5dfde4834cd36a34a12b629ba8f
Reviewed-on: https://gerrit.chromium.org/gerrit/42813
Reviewed-by: Arman Uguray <armansito@chromium.org>
Commit-Queue: Thieu Le <thieule@chromium.org>
Tested-by: Thieu Le <thieule@chromium.org>
diff --git a/shill_daemon.cc b/shill_daemon.cc
index 6df6f10..33efa52 100644
--- a/shill_daemon.cc
+++ b/shill_daemon.cc
@@ -34,6 +34,7 @@
Daemon::Daemon(Config *config, ControlInterface *control)
: config_(config),
control_(control),
+ metrics_(new Metrics(&dispatcher_)),
nss_(NSS::GetInstance()),
proxy_factory_(ProxyFactory::GetInstance()),
rtnl_handler_(RTNLHandler::GetInstance()),
@@ -42,13 +43,13 @@
config80211_(Config80211::GetInstance()),
manager_(new Manager(control_,
&dispatcher_,
- &metrics_,
+ metrics_.get(),
&glib_,
config->GetRunDirectory(),
config->GetStorageDirectory(),
config->GetUserStorageDirectoryFormat())),
callback80211_output_(),
- callback80211_metrics_(&metrics_) {
+ callback80211_metrics_(metrics_.get()) {
}
Daemon::~Daemon() { }
@@ -88,7 +89,7 @@
void Daemon::TerminationActionsCompleted(const Error &error) {
SLOG(Daemon, 1) << "Finished termination actions. Result: " << error;
- metrics_.NotifyTerminationActionsCompleted(
+ metrics_->NotifyTerminationActionsCompleted(
Metrics::kTerminationActionReasonTerminate, error.IsSuccess());
dispatcher_.PostTask(MessageLoop::QuitClosure());
}
@@ -96,6 +97,7 @@
void Daemon::Start() {
glib_.TypeInit();
proxy_factory_->Init();
+ metrics_->Start();
rtnl_handler_->Start(&dispatcher_, &sockets_);
routing_table_->Start();
dhcp_provider_->Init(control_, &dispatcher_, &glib_);
@@ -123,6 +125,7 @@
void Daemon::Stop() {
manager_->Stop();
+ metrics_->Stop();
}
} // namespace shill