| Index: metrics_daemon.cc
|
| diff --git a/metrics_daemon.cc b/metrics_daemon.cc
|
| index 1e15e1dde7396490d42a473d4f94074583197350..4820590d1b035af0355d1d19701309df8d35bfe4 100644
|
| --- a/metrics_daemon.cc
|
| +++ b/metrics_daemon.cc
|
| @@ -146,8 +146,7 @@ MetricsDaemon::MetricsDaemon()
|
| session_state_(kUnknownSessionState),
|
| user_active_(false),
|
| usemon_interval_(0),
|
| - usemon_source_(NULL),
|
| - diskstats_path_(NULL) {}
|
| + usemon_source_(NULL) {}
|
|
|
| MetricsDaemon::~MetricsDaemon() {
|
| DeleteFrequencyCounters();
|
| @@ -215,7 +214,7 @@ void MetricsDaemon::ConfigureCrashFrequencyReporter(
|
| }
|
|
|
| void MetricsDaemon::Init(bool testing, MetricsLibraryInterface* metrics_lib,
|
| - const char* diskstats_path) {
|
| + string diskstats_path) {
|
| testing_ = testing;
|
| DCHECK(metrics_lib != NULL);
|
| metrics_lib_ = metrics_lib;
|
| @@ -243,8 +242,11 @@ void MetricsDaemon::Init(bool testing, MetricsLibraryInterface* metrics_lib,
|
| ConfigureCrashFrequencyReporter(kMetricUserCrashesDailyName);
|
| ConfigureCrashFrequencyReporter(kMetricUserCrashesWeeklyName);
|
|
|
| - diskstats_path_ = diskstats_path;
|
| - DiskStatsReporterInit();
|
| + // Don't attempt to collect disk stats if there is no disk stats file.
|
| + if (!diskstats_path.empty()) {
|
| + diskstats_path_ = diskstats_path;
|
| + DiskStatsReporterInit();
|
| + }
|
|
|
| // Don't setup D-Bus and GLib in test mode.
|
| if (testing)
|
| @@ -541,7 +543,7 @@ void MetricsDaemon::DiskStatsReadStats(long int* read_sectors,
|
| int nchars;
|
| int nitems;
|
| char line[200];
|
| - int file = HANDLE_EINTR(open(diskstats_path_, O_RDONLY));
|
| + int file = HANDLE_EINTR(open(diskstats_path_.c_str(), O_RDONLY));
|
| if (file < 0) {
|
| PLOG(WARNING) << "cannot open " << diskstats_path_;
|
| return;
|
|
|