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

Unified Diff: chromeos/power/power_data_collector.cc

Issue 134623002: [chromeos] Limit the data samples stored by PowerDataCollector. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Use deque instead of list Created 6 years, 11 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: chromeos/power/power_data_collector.cc
diff --git a/chromeos/power/power_data_collector.cc b/chromeos/power/power_data_collector.cc
index cc84e5c9a299e86aaa06d98d27cb8f9e61e84554..086ee927f29f6c9d697a6e729f91d29a726a358d 100644
--- a/chromeos/power/power_data_collector.cc
+++ b/chromeos/power/power_data_collector.cc
@@ -17,6 +17,8 @@ PowerDataCollector* g_power_data_collector = NULL;
} // namespace
+const unsigned int PowerDataCollector::kSampleTimeLimitSec = 24 * 60 * 60;
+
// static
void PowerDataCollector::Initialize() {
// Check that power data collector is initialized only after the
@@ -47,8 +49,7 @@ void PowerDataCollector::PowerChanged(
snapshot.external_power = (prop.external_power() !=
power_manager::PowerSupplyProperties::DISCONNECTED);
snapshot.battery_percent = prop.battery_percent();
-
- power_supply_data_.push_back(snapshot);
+ AddSnapshot(snapshot);
}
PowerDataCollector::PowerDataCollector() {
@@ -61,6 +62,19 @@ PowerDataCollector::~PowerDataCollector() {
dbus_manager->GetPowerManagerClient()->RemoveObserver(this);
}
+void PowerDataCollector::AddSnapshot(const PowerSupplySnapshot& snapshot) {
+ while (power_supply_data_.size() > 0) {
Daniel Erat 2014/01/10 21:44:14 nit: while (!power_supply_data_.empty())
Siva Chandra 2014/01/10 22:18:09 Done.
+ PowerSupplySnapshot first = power_supply_data_.front();
Daniel Erat 2014/01/10 21:44:14 nit: const PowerSupplySnapshot& first
Siva Chandra 2014/01/10 22:18:09 Done.
+ if (snapshot.time - first.time >=
Daniel Erat 2014/01/10 21:44:14 nit: should probably be > instead of >=, based on
Siva Chandra 2014/01/10 22:18:09 Done.
+ base::TimeDelta::FromSeconds(kSampleTimeLimitSec)) {
+ power_supply_data_.pop_front();
+ } else {
+ break;
+ }
+ }
+ power_supply_data_.push_back(snapshot);
+}
+
PowerDataCollector::PowerSupplySnapshot::PowerSupplySnapshot()
: time(base::TimeTicks::Now()),
external_power(false),

Powered by Google App Engine
This is Rietveld 408576698