summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortimvolodine <timvolodine@chromium.org>2014-08-28 09:39:32 -0700
committerCommit bot <commit-bot@chromium.org>2014-08-28 16:41:54 +0000
commitab7555f4979feef26b9c9c4f9f74aa462ce9927f (patch)
tree9d94b52a67dd0a2b2dece00ff2472f69b44c8da4
parent141787d8f1d97fa077f5cbd95b917d3e2f7f7332 (diff)
downloadchromium_src-ab7555f4979feef26b9c9c4f9f74aa462ce9927f.zip
chromium_src-ab7555f4979feef26b9c9c4f9f74aa462ce9927f.tar.gz
chromium_src-ab7555f4979feef26b9c9c4f9f74aa462ce9927f.tar.bz2
Battery Status API: add UMA logging for Linux.
Adds UMA logging to track how many batteries are reported by the system at the start of Battery Status API. BUG= Review URL: https://codereview.chromium.org/480113003 Cr-Commit-Position: refs/heads/master@{#292398}
-rw-r--r--content/browser/battery_status/battery_status_manager_linux.cc11
-rw-r--r--tools/metrics/histograms/histograms.xml13
2 files changed, 23 insertions, 1 deletions
diff --git a/content/browser/battery_status/battery_status_manager_linux.cc b/content/browser/battery_status/battery_status_manager_linux.cc
index 6539f05..d09a3df 100644
--- a/content/browser/battery_status/battery_status_manager_linux.cc
+++ b/content/browser/battery_status/battery_status_manager_linux.cc
@@ -5,6 +5,7 @@
#include "content/browser/battery_status/battery_status_manager_linux.h"
#include "base/macros.h"
+#include "base/metrics/histogram.h"
#include "base/threading/thread.h"
#include "base/values.h"
#include "content/browser/battery_status/battery_status_manager.h"
@@ -96,6 +97,11 @@ scoped_ptr<PathsVector> GetPowerSourcesPaths(dbus::ObjectProxy* proxy) {
return paths.Pass();;
}
+void UpdateNumberBatteriesHistogram(int count) {
+ UMA_HISTOGRAM_CUSTOM_COUNTS(
+ "BatteryStatus.NumberBatteriesLinux", count, 1, 5, 6);
+}
+
// Class that represents a dedicated thread which communicates with DBus to
// obtain battery information and receives battery change notifications.
class BatteryStatusNotificationThread : public base::Thread {
@@ -131,6 +137,7 @@ class BatteryStatusNotificationThread : public base::Thread {
system_bus_->GetObjectProxy(kUPowerServiceName,
dbus::ObjectPath(kUPowerPath));
scoped_ptr<PathsVector> device_paths = GetPowerSourcesPaths(power_proxy);
+ int num_batteries = 0;
for (size_t i = 0; i < device_paths->size(); ++i) {
const dbus::ObjectPath& device_path = device_paths->at(i);
@@ -157,14 +164,16 @@ class BatteryStatusNotificationThread : public base::Thread {
// TODO(timvolodine): add support for multiple batteries. Currently we
// only collect information from the first battery we encounter
// (crbug.com/400780).
- // TODO(timvolodine): add UMA logging for this case.
LOG(WARNING) << "multiple batteries found, "
<< "using status data of the first battery only.";
} else {
battery_proxy_ = device_proxy;
}
+ num_batteries++;
}
+ UpdateNumberBatteriesHistogram(num_batteries);
+
if (!battery_proxy_) {
callback_.Run(blink::WebBatteryStatus());
return;
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index 4a5c9eb..ea452f7 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -1927,6 +1927,15 @@ Therefore, the affected-histogram name has to have at least one dot in it.
</summary>
</histogram>
+<histogram name="BatteryStatus.NumberBatteriesLinux"
+ enum="BatteryStatusNumberBatteriesLinux">
+ <owner>timvolodine@chromium.org</owner>
+ <summary>
+ Number of batteries reported by the UPower service on Linux at the start of
+ the Battery Status API.
+ </summary>
+</histogram>
+
<histogram name="BatteryStatus.StartAndroid" enum="BooleanSuccess">
<owner>timvolodine@chromium.org</owner>
<summary>
@@ -37848,6 +37857,10 @@ Therefore, the affected-histogram name has to have at least one dot in it.
<int value="2" label="Bad"/>
</enum>
+<enum name="BatteryStatusNumberBatteriesLinux" type="int">
+ <int value="5" label="5+"/>
+</enum>
+
<enum name="BlacklistSetup" type="int">
<int value="0" label="Blacklist enabled"/>
<int value="1" label="Blacklist ran successfully."/>