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

Unified Diff: metrics_daemon.h

Issue 2731008: Implement a persistent storage aggregation counter class. (Closed) Base URL: ssh://git@chromiumos-git/metrics.git
Patch Set: Address kmixter's comments. Created 10 years, 6 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
« no previous file with comments | « counter_test.cc ('k') | metrics_daemon.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: metrics_daemon.h
diff --git a/metrics_daemon.h b/metrics_daemon.h
index ea4771fc7bf643ab59cbe059b5ac8b55c4cac574..ee805962003093a9aeb32c892631299e54ccd0e1 100644
--- a/metrics_daemon.h
+++ b/metrics_daemon.h
@@ -8,24 +8,19 @@
#include <dbus/dbus.h>
#include <glib.h>
+#include <base/scoped_ptr.h>
+#include <base/time.h>
+#include <gtest/gtest_prod.h> // for FRIEND_TEST
+
#include "metrics_library.h"
-#include <gtest/gtest_prod.h> // for FRIEND_TEST
-#include <base/time.h>
+namespace chromeos_metrics { class TaggedCounterInterface; }
class MetricsDaemon {
public:
- MetricsDaemon()
- : daily_use_record_file_(NULL),
- network_state_(kUnknownNetworkState),
- power_state_(kUnknownPowerState),
- session_state_(kUnknownSessionState),
- user_active_(false),
- daily_use_day_last_(0),
- usemon_interval_(0),
- usemon_source_(NULL) {}
- ~MetricsDaemon() {}
+ MetricsDaemon();
+ ~MetricsDaemon();
// Initializes.
void Init(bool testing, MetricsLibraryInterface* metrics_lib);
@@ -36,10 +31,7 @@ class MetricsDaemon {
private:
friend class MetricsDaemonTest;
- FRIEND_TEST(MetricsDaemonTest, LogDailyUseRecordBadFileLocation);
- FRIEND_TEST(MetricsDaemonTest, LogDailyUseRecordOnLogin);
- FRIEND_TEST(MetricsDaemonTest, LogDailyUseRecordRoundDown);
- FRIEND_TEST(MetricsDaemonTest, LogDailyUseRecordRoundUp);
+ FRIEND_TEST(MetricsDaemonTest, DailyUseReporter);
FRIEND_TEST(MetricsDaemonTest, LookupNetworkState);
FRIEND_TEST(MetricsDaemonTest, LookupPowerState);
FRIEND_TEST(MetricsDaemonTest, LookupScreenSaverState);
@@ -51,8 +43,7 @@ class MetricsDaemon {
FRIEND_TEST(MetricsDaemonTest, ScreenSaverStateChanged);
FRIEND_TEST(MetricsDaemonTest, SendMetric);
FRIEND_TEST(MetricsDaemonTest, SessionStateChanged);
- FRIEND_TEST(MetricsDaemonTest, SetUserActiveStateSendOnLogin);
- FRIEND_TEST(MetricsDaemonTest, SetUserActiveStateSendOnMonitor);
+ FRIEND_TEST(MetricsDaemonTest, SetUserActiveState);
FRIEND_TEST(MetricsDaemonTest, SetUserActiveStateTimeJump);
// The network states (see network_states.h).
@@ -178,14 +169,14 @@ class MetricsDaemon {
void SendMetric(const std::string& name, int sample,
int min, int max, int nbuckets);
+ static void DailyUseReporter(void* data, int tag, int count);
+
// Test mode.
bool testing_;
// The metrics library handle.
MetricsLibraryInterface* metrics_lib_;
- const char* daily_use_record_file_;
-
// Current network state.
NetworkState network_state_;
@@ -209,8 +200,7 @@ class MetricsDaemon {
// epoch as the timestamp.
base::Time user_active_last_;
- // Last stored daily use day (since the epoch).
- int daily_use_day_last_;
+ scoped_ptr<chromeos_metrics::TaggedCounterInterface> daily_use_;
// Sleep period until the next daily usage aggregation performed by
// the daily use monitor (see ScheduleUseMonitor).
« no previous file with comments | « counter_test.cc ('k') | metrics_daemon.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698