Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1404)

Unified Diff: components/arc/metrics/arc_metrics_service.cc

Issue 2133503002: arc: Revamp the ArcBridgeService interface (Closed) Base URL: https://chromium.googlesource.com/a/chromium/src.git@master
Patch Set: Fix ui_arc_unittests Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/arc/metrics/arc_metrics_service.cc
diff --git a/components/arc/metrics/arc_metrics_service.cc b/components/arc/metrics/arc_metrics_service.cc
index 5ce5aa101ae122fde893bef49e0a3be45daae846..501e0b9b972d6d349041467cb1feb45875e3171f 100644
--- a/components/arc/metrics/arc_metrics_service.cc
+++ b/components/arc/metrics/arc_metrics_service.cc
@@ -4,6 +4,8 @@
#include "components/arc/metrics/arc_metrics_service.h"
+#include <string>
+
#include "base/logging.h"
#include "base/metrics/histogram_macros.h"
#include "base/strings/string_util.h"
@@ -17,19 +19,21 @@ const char kArcProcessNamePrefix[] = "org.chromium.arc.";
const char kGmsProcessNamePrefix[] = "com.google.android.gms";
const char kBootProgressEnableScreen[] = "boot_progress_enable_screen";
-} // namespace
+} // namespace
namespace arc {
ArcMetricsService::ArcMetricsService(ArcBridgeService* bridge_service)
: ArcService(bridge_service), binding_(this), weak_ptr_factory_(this) {
- arc_bridge_service()->AddObserver(this);
+ arc_bridge_service()->metrics()->AddObserver(this);
+ arc_bridge_service()->process()->AddObserver(this);
oom_kills_monitor_.Start();
}
ArcMetricsService::~ArcMetricsService() {
DCHECK(CalledOnValidThread());
- arc_bridge_service()->RemoveObserver(this);
+ arc_bridge_service()->process()->RemoveObserver(this);
+ arc_bridge_service()->metrics()->RemoveObserver(this);
}
bool ArcMetricsService::CalledOnValidThread() {
@@ -37,7 +41,8 @@ bool ArcMetricsService::CalledOnValidThread() {
return thread_checker_.CalledOnValidThread();
}
-void ArcMetricsService::OnMetricsInstanceReady() {
+void ArcMetricsService::OnInstanceReady(mojom::MetricsInstance*,
+ uint32_t version) {
VLOG(2) << "Start metrics service.";
// Retrieve ARC start time from session manager.
chromeos::SessionManagerClient* session_manager_client =
@@ -47,39 +52,37 @@ void ArcMetricsService::OnMetricsInstanceReady() {
weak_ptr_factory_.GetWeakPtr()));
}
-void ArcMetricsService::OnMetricsInstanceClosed() {
+void ArcMetricsService::OnInstanceClosed(mojom::MetricsInstance*) {
VLOG(2) << "Close metrics service.";
DCHECK(CalledOnValidThread());
if (binding_.is_bound())
binding_.Unbind();
}
-void ArcMetricsService::OnProcessInstanceReady() {
+void ArcMetricsService::OnInstanceReady(mojom::ProcessInstance*,
+ uint32_t version) {
VLOG(2) << "Start updating process list.";
- timer_.Start(
- FROM_HERE,
- base::TimeDelta::FromMinutes(kRequestProcessListPeriodInMinutes),
- this,
- &ArcMetricsService::RequestProcessList);
+ timer_.Start(FROM_HERE,
+ base::TimeDelta::FromMinutes(kRequestProcessListPeriodInMinutes),
+ this, &ArcMetricsService::RequestProcessList);
}
-void ArcMetricsService::OnProcessInstanceClosed() {
+void ArcMetricsService::OnInstanceClosed(mojom::ProcessInstance*) {
VLOG(2) << "Stop updating process list.";
timer_.Stop();
}
void ArcMetricsService::RequestProcessList() {
mojom::ProcessInstance* process_instance =
- arc_bridge_service()->process_instance();
+ arc_bridge_service()->process()->instance();
if (!process_instance) {
LOG(ERROR) << "No process instance found before RequestProcessList";
return;
}
VLOG(2) << "RequestProcessList";
- process_instance->RequestProcessList(
- base::Bind(&ArcMetricsService::ParseProcessList,
- weak_ptr_factory_.GetWeakPtr()));
+ process_instance->RequestProcessList(base::Bind(
+ &ArcMetricsService::ParseProcessList, weak_ptr_factory_.GetWeakPtr()));
}
void ArcMetricsService::ParseProcessList(
@@ -109,7 +112,8 @@ void ArcMetricsService::ParseProcessList(
}
void ArcMetricsService::OnArcStartTimeRetrieved(
- bool success, base::TimeTicks arc_start_time) {
+ bool success,
+ base::TimeTicks arc_start_time) {
DCHECK(CalledOnValidThread());
if (!success) {
LOG(ERROR) << "Failed to retrieve ARC start timeticks.";
@@ -122,7 +126,7 @@ void ArcMetricsService::OnArcStartTimeRetrieved(
if (!binding_.is_bound()) {
hidehiko 2016/07/11 05:24:53 (This is off topic so I'm ok to address this separ
Luis Héctor Chávez 2016/07/11 17:13:34 OnArcStartTimeRetrieved already waits for MetricIn
mojom::MetricsHostPtr host_ptr;
binding_.Bind(mojo::GetProxy(&host_ptr));
- arc_bridge_service()->metrics_instance()->Init(std::move(host_ptr));
+ arc_bridge_service()->metrics()->instance()->Init(std::move(host_ptr));
}
arc_start_time_ = arc_start_time;
VLOG(2) << "ARC start @" << arc_start_time_;
@@ -134,26 +138,21 @@ void ArcMetricsService::ReportBootProgress(
int64_t arc_start_time_in_ms =
(arc_start_time_ - base::TimeTicks()).InMilliseconds();
for (const auto& event : events) {
- VLOG(2) << "Report boot progress event:"
- << event->event << "@" << event->uptimeMillis;
+ VLOG(2) << "Report boot progress event:" << event->event << "@"
+ << event->uptimeMillis;
std::string title = "Arc." + event->event.get();
base::TimeDelta elapsed_time = base::TimeDelta::FromMilliseconds(
event->uptimeMillis - arc_start_time_in_ms);
// Note: This leaks memory, which is expected behavior.
- base::HistogramBase* histogram =
- base::Histogram::FactoryTimeGet(
- title,
- base::TimeDelta::FromMilliseconds(1),
- base::TimeDelta::FromSeconds(30),
- 50,
- base::HistogramBase::kUmaTargetedHistogramFlag);
+ base::HistogramBase* histogram = base::Histogram::FactoryTimeGet(
+ title, base::TimeDelta::FromMilliseconds(1),
+ base::TimeDelta::FromSeconds(30), 50,
+ base::HistogramBase::kUmaTargetedHistogramFlag);
histogram->AddTime(elapsed_time);
if (event->event.get().compare(kBootProgressEnableScreen) == 0)
- UMA_HISTOGRAM_CUSTOM_TIMES("Arc.AndroidBootTime",
- elapsed_time,
+ UMA_HISTOGRAM_CUSTOM_TIMES("Arc.AndroidBootTime", elapsed_time,
base::TimeDelta::FromMilliseconds(1),
- base::TimeDelta::FromSeconds(30),
- 50);
+ base::TimeDelta::FromSeconds(30), 50);
}
}

Powered by Google App Engine
This is Rietveld 408576698