summaryrefslogtreecommitdiff
path: root/chromium/components/arc/metrics/arc_metrics_service.cc
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2017-01-04 14:17:57 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2017-01-05 10:05:06 +0000
commit39d357e3248f80abea0159765ff39554affb40db (patch)
treeaba0e6bfb76de0244bba0f5fdbd64b830dd6e621 /chromium/components/arc/metrics/arc_metrics_service.cc
parent87778abf5a1f89266f37d1321b92a21851d8244d (diff)
downloadqtwebengine-chromium-39d357e3248f80abea0159765ff39554affb40db.tar.gz
BASELINE: Update Chromium to 55.0.2883.105
And updates ninja to 1.7.2 Change-Id: I20d43c737f82764d857ada9a55586901b18b9243 Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/components/arc/metrics/arc_metrics_service.cc')
-rw-r--r--chromium/components/arc/metrics/arc_metrics_service.cc19
1 files changed, 9 insertions, 10 deletions
diff --git a/chromium/components/arc/metrics/arc_metrics_service.cc b/chromium/components/arc/metrics/arc_metrics_service.cc
index 9aca98bd084..bb4cf9d8d40 100644
--- a/chromium/components/arc/metrics/arc_metrics_service.cc
+++ b/chromium/components/arc/metrics/arc_metrics_service.cc
@@ -5,6 +5,7 @@
#include "components/arc/metrics/arc_metrics_service.h"
#include <string>
+#include <utility>
#include "base/logging.h"
#include "base/metrics/histogram_macros.h"
@@ -27,10 +28,10 @@ ArcMetricsService::ArcMetricsService(ArcBridgeService* bridge_service)
: ArcService(bridge_service),
binding_(this),
process_observer_(this),
+ oom_kills_monitor_handle_(OomKillsMonitor::StartMonitoring()),
weak_ptr_factory_(this) {
arc_bridge_service()->metrics()->AddObserver(this);
arc_bridge_service()->process()->AddObserver(&process_observer_);
- oom_kills_monitor_.Start();
}
ArcMetricsService::~ArcMetricsService() {
@@ -75,12 +76,10 @@ void ArcMetricsService::OnProcessInstanceClosed() {
void ArcMetricsService::RequestProcessList() {
mojom::ProcessInstance* process_instance =
- arc_bridge_service()->process()->instance();
- if (!process_instance) {
- LOG(ERROR) << "No process instance found before RequestProcessList";
+ arc_bridge_service()->process()->GetInstanceForMethod(
+ "RequestProcessList");
+ if (!process_instance)
return;
- }
-
VLOG(2) << "RequestProcessList";
process_instance->RequestProcessList(base::Bind(
&ArcMetricsService::ParseProcessList, weak_ptr_factory_.GetWeakPtr()));
@@ -120,10 +119,10 @@ void ArcMetricsService::OnArcStartTimeRetrieved(
LOG(ERROR) << "Failed to retrieve ARC start timeticks.";
return;
}
- if (!arc_bridge_service()->metrics()->instance()) {
- LOG(ERROR) << "ARC metrics instance went away while retrieving start time.";
+ auto* instance =
+ arc_bridge_service()->metrics()->GetInstanceForMethod("Init");
+ if (!instance)
return;
- }
// The binding of host interface is deferred until the ARC start time is
// retrieved here because it prevents race condition of the ARC start
@@ -131,7 +130,7 @@ void ArcMetricsService::OnArcStartTimeRetrieved(
if (!binding_.is_bound()) {
mojom::MetricsHostPtr host_ptr;
binding_.Bind(mojo::GetProxy(&host_ptr));
- arc_bridge_service()->metrics()->instance()->Init(std::move(host_ptr));
+ instance->Init(std::move(host_ptr));
}
arc_start_time_ = arc_start_time;
VLOG(2) << "ARC start @" << arc_start_time_;