summaryrefslogtreecommitdiffstats
path: root/chromeos/power/power_data_collector.cc
diff options
context:
space:
mode:
authorsivachandra@chromium.org <sivachandra@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-02 06:27:45 +0000
committersivachandra@chromium.org <sivachandra@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-02 06:27:45 +0000
commit6568c523ae76412feb72d9f209529f94885d31f9 (patch)
treef5fb95152744065fda27b349946c572a5bb705df /chromeos/power/power_data_collector.cc
parent5d05fee7c6731d201a2f46532e06c6f305a3bd56 (diff)
downloadchromium_src-6568c523ae76412feb72d9f209529f94885d31f9.zip
chromium_src-6568c523ae76412feb72d9f209529f94885d31f9.tar.gz
chromium_src-6568c523ae76412feb72d9f209529f94885d31f9.tar.bz2
[chromeos/about:power] Adjust for suspend/resume times.
Salient changes in this CL: 1. Since base::TimeTicks stops during a suspend, this CL replaces the use of base::TimeTicks with base::Time in PowerDataCollector. 2. PowerDataCollector records suspend resume events. 3. The suspend times are shown as gaps in the plots. 4. Few changes in power.js to improve the plot appearance. BUG=333039 TBR=sky Review URL: https://codereview.chromium.org/147253002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248399 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos/power/power_data_collector.cc')
-rw-r--r--chromeos/power/power_data_collector.cc40
1 files changed, 18 insertions, 22 deletions
diff --git a/chromeos/power/power_data_collector.cc b/chromeos/power/power_data_collector.cc
index e6b6f3d..8d1811b 100644
--- a/chromeos/power/power_data_collector.cc
+++ b/chromeos/power/power_data_collector.cc
@@ -44,13 +44,20 @@ PowerDataCollector* PowerDataCollector::Get() {
void PowerDataCollector::PowerChanged(
const power_manager::PowerSupplyProperties& prop) {
- PowerSupplySnapshot snapshot;
- snapshot.time = base::TimeTicks::Now();
- snapshot.external_power = (prop.external_power() !=
+ PowerSupplySample sample;
+ sample.time = base::Time::Now();
+ sample.external_power = (prop.external_power() !=
power_manager::PowerSupplyProperties::DISCONNECTED);
- snapshot.battery_percent = prop.battery_percent();
- snapshot.battery_discharge_rate = prop.battery_discharge_rate();
- AddSnapshot(snapshot);
+ sample.battery_percent = prop.battery_percent();
+ sample.battery_discharge_rate = prop.battery_discharge_rate();
+ AddSample(&power_supply_data_, sample);
+}
+
+void PowerDataCollector::SystemResumed(const base::TimeDelta& sleep_duration) {
+ SystemResumedSample sample;
+ sample.time = base::Time::Now();
+ sample.sleep_duration = sleep_duration;
+ AddSample(&system_resumed_data_, sample);
}
PowerDataCollector::PowerDataCollector() {
@@ -63,24 +70,13 @@ PowerDataCollector::~PowerDataCollector() {
dbus_manager->GetPowerManagerClient()->RemoveObserver(this);
}
-void PowerDataCollector::AddSnapshot(const PowerSupplySnapshot& snapshot) {
- while (!power_supply_data_.empty()) {
- const PowerSupplySnapshot& first = power_supply_data_.front();
- if (snapshot.time - first.time >
- base::TimeDelta::FromSeconds(kSampleTimeLimitSec)) {
- power_supply_data_.pop_front();
- } else {
- break;
- }
- }
- power_supply_data_.push_back(snapshot);
+PowerDataCollector::PowerSupplySample::PowerSupplySample()
+ : external_power(false),
+ battery_percent(0.0),
+ battery_discharge_rate(0.0) {
}
-PowerDataCollector::PowerSupplySnapshot::PowerSupplySnapshot()
- : time(base::TimeTicks::Now()),
- external_power(false),
- battery_percent(0),
- battery_discharge_rate(0.0) {
+PowerDataCollector::SystemResumedSample::SystemResumedSample() {
}
} // namespace chromeos