| Index: metrics_daemon.h
|
| diff --git a/metrics_daemon.h b/metrics_daemon.h
|
| index 50958b8d9a02bfb35c9e5dbb9473c129c649179e..437cafd0ec2e33af5e4de272dc84a422f4b25bb9 100644
|
| --- a/metrics_daemon.h
|
| +++ b/metrics_daemon.h
|
| @@ -31,7 +31,9 @@ class MetricsDaemon {
|
|
|
| private:
|
| friend class MetricsDaemonTest;
|
| + FRIEND_TEST(MetricsDaemonTest, CheckKernelCrash);
|
| FRIEND_TEST(MetricsDaemonTest, DailyUseReporter);
|
| + FRIEND_TEST(MetricsDaemonTest, KernelCrashIntervalReporter);
|
| FRIEND_TEST(MetricsDaemonTest, LookupNetworkState);
|
| FRIEND_TEST(MetricsDaemonTest, LookupPowerState);
|
| FRIEND_TEST(MetricsDaemonTest, LookupScreenSaverState);
|
| @@ -40,6 +42,7 @@ class MetricsDaemon {
|
| FRIEND_TEST(MetricsDaemonTest, NetStateChangedSimpleDrop);
|
| FRIEND_TEST(MetricsDaemonTest, NetStateChangedSuspend);
|
| FRIEND_TEST(MetricsDaemonTest, PowerStateChanged);
|
| + FRIEND_TEST(MetricsDaemonTest, ProcessKernelCrash);
|
| FRIEND_TEST(MetricsDaemonTest, ProcessUserCrash);
|
| FRIEND_TEST(MetricsDaemonTest, ScreenSaverStateChanged);
|
| FRIEND_TEST(MetricsDaemonTest, SendMetric);
|
| @@ -85,6 +88,10 @@ class MetricsDaemon {
|
| static const int kMetricDailyUseTimeMin;
|
| static const int kMetricDailyUseTimeMax;
|
| static const int kMetricDailyUseTimeBuckets;
|
| + static const char kMetricKernelCrashIntervalName[];
|
| + static const int kMetricKernelCrashIntervalMin;
|
| + static const int kMetricKernelCrashIntervalMax;
|
| + static const int kMetricKernelCrashIntervalBuckets;
|
| static const char kMetricTimeToNetworkDropName[];
|
| static const int kMetricTimeToNetworkDropMin;
|
| static const int kMetricTimeToNetworkDropMax;
|
| @@ -152,6 +159,14 @@ class MetricsDaemon {
|
| // process crashes.
|
| void ProcessUserCrash();
|
|
|
| + // Updates the active use time and logs time between kernel crashes.
|
| + void ProcessKernelCrash();
|
| +
|
| + // Checks if a kernel crash has been detected and processes if so.
|
| + // The method assumes that a kernel crash has happened if
|
| + // |crash_file| exists.
|
| + void CheckKernelCrash(const std::string& crash_file);
|
| +
|
| // Callbacks for the daily use monitor. The daily use monitor uses
|
| // LogDailyUseRecord to aggregate current usage data and send it to
|
| // UMA, if necessary. It also reschedules itself using an
|
| @@ -187,6 +202,10 @@ class MetricsDaemon {
|
| // crashes and send to UMA.
|
| static void UserCrashIntervalReporter(void* data, int tag, int count);
|
|
|
| + // TaggedCounter callback to process time between kernel crashes and
|
| + // send to UMA.
|
| + static void KernelCrashIntervalReporter(void* data, int tag, int count);
|
| +
|
| // Test mode.
|
| bool testing_;
|
|
|
| @@ -222,6 +241,9 @@ class MetricsDaemon {
|
| // Active use time between user-space process crashes.
|
| scoped_ptr<chromeos_metrics::TaggedCounterInterface> user_crash_interval_;
|
|
|
| + // Active use time between kernel crashes.
|
| + scoped_ptr<chromeos_metrics::TaggedCounterInterface> kernel_crash_interval_;
|
| +
|
| // Sleep period until the next daily usage aggregation performed by
|
| // the daily use monitor (see ScheduleUseMonitor).
|
| int usemon_interval_;
|
|
|