Loading metricsd/Android.mk +1 −3 Original line number Original line Diff line number Diff line Loading @@ -133,9 +133,7 @@ LOCAL_SHARED_LIBRARIES := $(metrics_shared_libraries) \ libchromeos-http \ libchromeos-http \ libchromeos-dbus \ libchromeos-dbus \ libcutils \ libcutils \ libdbus \ libdbus librootdev LOCAL_SRC_FILES := $(metrics_daemon_sources) LOCAL_SRC_FILES := $(metrics_daemon_sources) LOCAL_STATIC_LIBRARIES := metrics_daemon_protos LOCAL_STATIC_LIBRARIES := metrics_daemon_protos include $(BUILD_EXECUTABLE) include $(BUILD_EXECUTABLE) Loading metricsd/metrics_daemon.cc +4 −54 Original line number Original line Diff line number Diff line Loading @@ -110,7 +110,6 @@ const char kMetricsProcStatFileName[] = "/proc/stat"; const char kVmStatFileName[] = "/proc/vmstat"; const char kVmStatFileName[] = "/proc/vmstat"; const char kMeminfoFileName[] = "/proc/meminfo"; const char kMeminfoFileName[] = "/proc/meminfo"; const int kMetricsProcStatFirstLineItemsCount = 11; const int kMetricsProcStatFirstLineItemsCount = 11; const int kDiskMetricsStatItemCount = 11; // Thermal CPU throttling. // Thermal CPU throttling. Loading Loading @@ -216,7 +215,6 @@ void MetricsDaemon::Init(bool testing, bool uploader_active, bool uploader_active, bool dbus_enabled, bool dbus_enabled, MetricsLibraryInterface* metrics_lib, MetricsLibraryInterface* metrics_lib, const string& diskstats_path, const string& scaling_max_freq_path, const string& scaling_max_freq_path, const string& cpuinfo_max_freq_path, const string& cpuinfo_max_freq_path, const base::TimeDelta& upload_interval, const base::TimeDelta& upload_interval, Loading Loading @@ -275,13 +273,8 @@ void MetricsDaemon::Init(bool testing, weekly_cycle_.reset(new PersistentInteger("weekly.cycle")); weekly_cycle_.reset(new PersistentInteger("weekly.cycle")); version_cycle_.reset(new PersistentInteger("version.cycle")); version_cycle_.reset(new PersistentInteger("version.cycle")); diskstats_path_ = diskstats_path; scaling_max_freq_path_ = scaling_max_freq_path; scaling_max_freq_path_ = scaling_max_freq_path; cpuinfo_max_freq_path_ = cpuinfo_max_freq_path; cpuinfo_max_freq_path_ = cpuinfo_max_freq_path; // If testing, initialize Stats Reporter without connecting DBus if (testing_) StatsReporterInit(); } } int MetricsDaemon::OnInit() { int MetricsDaemon::OnInit() { Loading @@ -290,13 +283,6 @@ int MetricsDaemon::OnInit() { if (return_code != EX_OK) if (return_code != EX_OK) return return_code; return return_code; StatsReporterInit(); // Start collecting meminfo stats. ScheduleMeminfoCallback(kMetricMeminfoInterval); memuse_final_time_ = GetActiveTime() + kMemuseIntervals[0]; ScheduleMemuseCallback(kMemuseIntervals[0]); if (testing_) if (testing_) return EX_OK; return EX_OK; Loading Loading @@ -327,11 +313,6 @@ int MetricsDaemon::OnInit() { } } } } base::MessageLoop::current()->PostDelayedTask(FROM_HERE, base::Bind(&MetricsDaemon::HandleUpdateStatsTimeout, base::Unretained(this)), base::TimeDelta::FromMilliseconds(kUpdateStatsIntervalMs)); if (uploader_active_) { if (uploader_active_) { upload_service_.reset( upload_service_.reset( new UploadService(new SystemProfileCache(), metrics_lib_, server_)); new UploadService(new SystemProfileCache(), metrics_lib_, server_)); Loading Loading @@ -513,40 +494,6 @@ void MetricsDaemon::ScheduleStatsCallback(int wait) { base::TimeDelta::FromSeconds(wait)); base::TimeDelta::FromSeconds(wait)); } } bool MetricsDaemon::DiskStatsReadStats(uint64_t* read_sectors, uint64_t* write_sectors) { CHECK(read_sectors); CHECK(write_sectors); std::string line; if (diskstats_path_.empty()) { return false; } if (!base::ReadFileToString(base::FilePath(diskstats_path_), &line)) { PLOG(WARNING) << "Could not read disk stats from " << diskstats_path_; return false; } std::vector<std::string> parts = base::SplitString( line, " ", base::TRIM_WHITESPACE, base::SPLIT_WANT_NONEMPTY); if (parts.size() != kDiskMetricsStatItemCount) { LOG(ERROR) << "Could not parse disk stat correctly. Expected " << kDiskMetricsStatItemCount << " elements but got " << parts.size(); return false; } if (!base::StringToUint64(parts[2], read_sectors)) { LOG(ERROR) << "Couldn't convert read sectors " << parts[2] << " to uint64"; return false; } if (!base::StringToUint64(parts[6], write_sectors)) { LOG(ERROR) << "Couldn't convert write sectors " << parts[6] << " to uint64"; return false; } return true; } bool MetricsDaemon::VmStatsParseStats(const char* stats, bool MetricsDaemon::VmStatsParseStats(const char* stats, struct VmstatRecord* record) { struct VmstatRecord* record) { CHECK(stats); CHECK(stats); Loading Loading @@ -766,7 +713,10 @@ void MetricsDaemon::MeminfoCallback(base::TimeDelta wait) { } } // Make both calls even if the first one fails. // Make both calls even if the first one fails. bool success = ProcessMeminfo(meminfo_raw); bool success = ProcessMeminfo(meminfo_raw); if (ProcessMeminfo(meminfo_raw)) { bool reschedule = ReportZram(base::FilePath(FILE_PATH_LITERAL("/sys/block/zram0"))) && success; if (reschedule) { base::MessageLoop::current()->PostDelayedTask(FROM_HERE, base::MessageLoop::current()->PostDelayedTask(FROM_HERE, base::Bind(&MetricsDaemon::MeminfoCallback, base::Unretained(this), base::Bind(&MetricsDaemon::MeminfoCallback, base::Unretained(this), wait), wait), Loading metricsd/metrics_daemon.h +1 −3 Original line number Original line Diff line number Diff line Loading @@ -45,7 +45,6 @@ class MetricsDaemon : public chromeos::DBusDaemon { bool uploader_active, bool uploader_active, bool dbus_enabled, bool dbus_enabled, MetricsLibraryInterface* metrics_lib, MetricsLibraryInterface* metrics_lib, const std::string& diskstats_path, const std::string& cpuinfo_max_freq_path, const std::string& cpuinfo_max_freq_path, const std::string& scaling_max_freq_path, const std::string& scaling_max_freq_path, const base::TimeDelta& upload_interval, const base::TimeDelta& upload_interval, Loading Loading @@ -79,7 +78,6 @@ class MetricsDaemon : public chromeos::DBusDaemon { FRIEND_TEST(MetricsDaemonTest, GetHistogramPath); FRIEND_TEST(MetricsDaemonTest, GetHistogramPath); FRIEND_TEST(MetricsDaemonTest, IsNewEpoch); FRIEND_TEST(MetricsDaemonTest, IsNewEpoch); FRIEND_TEST(MetricsDaemonTest, MessageFilter); FRIEND_TEST(MetricsDaemonTest, MessageFilter); FRIEND_TEST(MetricsDaemonTest, ParseDiskStats); FRIEND_TEST(MetricsDaemonTest, ParseVmStats); FRIEND_TEST(MetricsDaemonTest, ParseVmStats); FRIEND_TEST(MetricsDaemonTest, ProcessKernelCrash); FRIEND_TEST(MetricsDaemonTest, ProcessKernelCrash); FRIEND_TEST(MetricsDaemonTest, ProcessMeminfo); FRIEND_TEST(MetricsDaemonTest, ProcessMeminfo); Loading @@ -88,6 +86,7 @@ class MetricsDaemon : public chromeos::DBusDaemon { FRIEND_TEST(MetricsDaemonTest, ProcessUserCrash); FRIEND_TEST(MetricsDaemonTest, ProcessUserCrash); FRIEND_TEST(MetricsDaemonTest, ReportCrashesDailyFrequency); FRIEND_TEST(MetricsDaemonTest, ReportCrashesDailyFrequency); FRIEND_TEST(MetricsDaemonTest, ReadFreqToInt); FRIEND_TEST(MetricsDaemonTest, ReadFreqToInt); FRIEND_TEST(MetricsDaemonTest, ReportDiskStats); FRIEND_TEST(MetricsDaemonTest, ReportKernelCrashInterval); FRIEND_TEST(MetricsDaemonTest, ReportKernelCrashInterval); FRIEND_TEST(MetricsDaemonTest, ReportUncleanShutdownInterval); FRIEND_TEST(MetricsDaemonTest, ReportUncleanShutdownInterval); FRIEND_TEST(MetricsDaemonTest, ReportUserCrashInterval); FRIEND_TEST(MetricsDaemonTest, ReportUserCrashInterval); Loading Loading @@ -325,7 +324,6 @@ class MetricsDaemon : public chromeos::DBusDaemon { scoped_ptr<PersistentInteger> unclean_shutdowns_daily_count_; scoped_ptr<PersistentInteger> unclean_shutdowns_daily_count_; scoped_ptr<PersistentInteger> unclean_shutdowns_weekly_count_; scoped_ptr<PersistentInteger> unclean_shutdowns_weekly_count_; std::string diskstats_path_; std::string scaling_max_freq_path_; std::string scaling_max_freq_path_; std::string cpuinfo_max_freq_path_; std::string cpuinfo_max_freq_path_; Loading metricsd/metrics_daemon_main.cc +0 −24 Original line number Original line Diff line number Diff line Loading @@ -20,7 +20,6 @@ #include <base/strings/string_util.h> #include <base/strings/string_util.h> #include <chromeos/flag_helper.h> #include <chromeos/flag_helper.h> #include <chromeos/syslog_logging.h> #include <chromeos/syslog_logging.h> #include <rootdev.h> #include "constants.h" #include "constants.h" #include "metrics_daemon.h" #include "metrics_daemon.h" Loading @@ -30,28 +29,6 @@ const char kScalingMaxFreqPath[] = const char kCpuinfoMaxFreqPath[] = const char kCpuinfoMaxFreqPath[] = "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq"; "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq"; // Returns the path to the disk stats in the sysfs. Returns the null string if // it cannot find the disk stats file. static const std::string MetricsMainDiskStatsPath() { char dev_path_cstr[PATH_MAX]; std::string dev_prefix = "/dev/block/"; std::string dev_path; int ret = rootdev(dev_path_cstr, sizeof(dev_path_cstr), true, true); if (ret != 0) { LOG(WARNING) << "error " << ret << " determining root device"; return ""; } dev_path = dev_path_cstr; // Check that rootdev begins with "/dev/block/". if (!base::StartsWithASCII(dev_path, dev_prefix, false)) { LOG(WARNING) << "unexpected root device " << dev_path; return ""; } return "/sys/class/block/" + dev_path.substr(dev_prefix.length()) + "/stat"; } int main(int argc, char** argv) { int main(int argc, char** argv) { DEFINE_bool(daemon, true, "run as daemon (use -nodaemon for debugging)"); DEFINE_bool(daemon, true, "run as daemon (use -nodaemon for debugging)"); Loading Loading @@ -98,7 +75,6 @@ int main(int argc, char** argv) { FLAGS_uploader | FLAGS_uploader_test, FLAGS_uploader | FLAGS_uploader_test, FLAGS_withdbus, FLAGS_withdbus, &metrics_lib, &metrics_lib, MetricsMainDiskStatsPath(), kScalingMaxFreqPath, kScalingMaxFreqPath, kCpuinfoMaxFreqPath, kCpuinfoMaxFreqPath, base::TimeDelta::FromSeconds(FLAGS_upload_interval_secs), base::TimeDelta::FromSeconds(FLAGS_upload_interval_secs), Loading metricsd/metrics_daemon_test.cc +0 −16 Original line number Original line Diff line number Diff line Loading @@ -82,7 +82,6 @@ class MetricsDaemonTest : public testing::Test { false, false, true, true, &metrics_lib_, &metrics_lib_, disk_stats_path_.value(), scaling_max_freq_path_.value(), scaling_max_freq_path_.value(), cpu_max_freq_path_.value(), cpu_max_freq_path_.value(), base::TimeDelta::FromMinutes(30), base::TimeDelta::FromMinutes(30), Loading Loading @@ -199,21 +198,6 @@ TEST_F(MetricsDaemonTest, SendSample) { /* min */ 1, /* max */ 100, /* buckets */ 50); /* min */ 1, /* max */ 100, /* buckets */ 50); } } TEST_F(MetricsDaemonTest, ParseDiskStats) { uint64_t read_sectors_now, write_sectors_now; CreateFakeDiskStatsFile(kFakeDiskStats0); ASSERT_TRUE(daemon_.DiskStatsReadStats(&read_sectors_now, &write_sectors_now)); EXPECT_EQ(read_sectors_now, kFakeReadSectors[0]); EXPECT_EQ(write_sectors_now, kFakeWriteSectors[0]); CreateFakeDiskStatsFile(kFakeDiskStats1); ASSERT_TRUE(daemon_.DiskStatsReadStats(&read_sectors_now, &write_sectors_now)); EXPECT_EQ(read_sectors_now, kFakeReadSectors[1]); EXPECT_EQ(write_sectors_now, kFakeWriteSectors[1]); } TEST_F(MetricsDaemonTest, ProcessMeminfo) { TEST_F(MetricsDaemonTest, ProcessMeminfo) { string meminfo = string meminfo = "MemTotal: 2000000 kB\nMemFree: 500000 kB\n" "MemTotal: 2000000 kB\nMemFree: 500000 kB\n" Loading Loading
metricsd/Android.mk +1 −3 Original line number Original line Diff line number Diff line Loading @@ -133,9 +133,7 @@ LOCAL_SHARED_LIBRARIES := $(metrics_shared_libraries) \ libchromeos-http \ libchromeos-http \ libchromeos-dbus \ libchromeos-dbus \ libcutils \ libcutils \ libdbus \ libdbus librootdev LOCAL_SRC_FILES := $(metrics_daemon_sources) LOCAL_SRC_FILES := $(metrics_daemon_sources) LOCAL_STATIC_LIBRARIES := metrics_daemon_protos LOCAL_STATIC_LIBRARIES := metrics_daemon_protos include $(BUILD_EXECUTABLE) include $(BUILD_EXECUTABLE) Loading
metricsd/metrics_daemon.cc +4 −54 Original line number Original line Diff line number Diff line Loading @@ -110,7 +110,6 @@ const char kMetricsProcStatFileName[] = "/proc/stat"; const char kVmStatFileName[] = "/proc/vmstat"; const char kVmStatFileName[] = "/proc/vmstat"; const char kMeminfoFileName[] = "/proc/meminfo"; const char kMeminfoFileName[] = "/proc/meminfo"; const int kMetricsProcStatFirstLineItemsCount = 11; const int kMetricsProcStatFirstLineItemsCount = 11; const int kDiskMetricsStatItemCount = 11; // Thermal CPU throttling. // Thermal CPU throttling. Loading Loading @@ -216,7 +215,6 @@ void MetricsDaemon::Init(bool testing, bool uploader_active, bool uploader_active, bool dbus_enabled, bool dbus_enabled, MetricsLibraryInterface* metrics_lib, MetricsLibraryInterface* metrics_lib, const string& diskstats_path, const string& scaling_max_freq_path, const string& scaling_max_freq_path, const string& cpuinfo_max_freq_path, const string& cpuinfo_max_freq_path, const base::TimeDelta& upload_interval, const base::TimeDelta& upload_interval, Loading Loading @@ -275,13 +273,8 @@ void MetricsDaemon::Init(bool testing, weekly_cycle_.reset(new PersistentInteger("weekly.cycle")); weekly_cycle_.reset(new PersistentInteger("weekly.cycle")); version_cycle_.reset(new PersistentInteger("version.cycle")); version_cycle_.reset(new PersistentInteger("version.cycle")); diskstats_path_ = diskstats_path; scaling_max_freq_path_ = scaling_max_freq_path; scaling_max_freq_path_ = scaling_max_freq_path; cpuinfo_max_freq_path_ = cpuinfo_max_freq_path; cpuinfo_max_freq_path_ = cpuinfo_max_freq_path; // If testing, initialize Stats Reporter without connecting DBus if (testing_) StatsReporterInit(); } } int MetricsDaemon::OnInit() { int MetricsDaemon::OnInit() { Loading @@ -290,13 +283,6 @@ int MetricsDaemon::OnInit() { if (return_code != EX_OK) if (return_code != EX_OK) return return_code; return return_code; StatsReporterInit(); // Start collecting meminfo stats. ScheduleMeminfoCallback(kMetricMeminfoInterval); memuse_final_time_ = GetActiveTime() + kMemuseIntervals[0]; ScheduleMemuseCallback(kMemuseIntervals[0]); if (testing_) if (testing_) return EX_OK; return EX_OK; Loading Loading @@ -327,11 +313,6 @@ int MetricsDaemon::OnInit() { } } } } base::MessageLoop::current()->PostDelayedTask(FROM_HERE, base::Bind(&MetricsDaemon::HandleUpdateStatsTimeout, base::Unretained(this)), base::TimeDelta::FromMilliseconds(kUpdateStatsIntervalMs)); if (uploader_active_) { if (uploader_active_) { upload_service_.reset( upload_service_.reset( new UploadService(new SystemProfileCache(), metrics_lib_, server_)); new UploadService(new SystemProfileCache(), metrics_lib_, server_)); Loading Loading @@ -513,40 +494,6 @@ void MetricsDaemon::ScheduleStatsCallback(int wait) { base::TimeDelta::FromSeconds(wait)); base::TimeDelta::FromSeconds(wait)); } } bool MetricsDaemon::DiskStatsReadStats(uint64_t* read_sectors, uint64_t* write_sectors) { CHECK(read_sectors); CHECK(write_sectors); std::string line; if (diskstats_path_.empty()) { return false; } if (!base::ReadFileToString(base::FilePath(diskstats_path_), &line)) { PLOG(WARNING) << "Could not read disk stats from " << diskstats_path_; return false; } std::vector<std::string> parts = base::SplitString( line, " ", base::TRIM_WHITESPACE, base::SPLIT_WANT_NONEMPTY); if (parts.size() != kDiskMetricsStatItemCount) { LOG(ERROR) << "Could not parse disk stat correctly. Expected " << kDiskMetricsStatItemCount << " elements but got " << parts.size(); return false; } if (!base::StringToUint64(parts[2], read_sectors)) { LOG(ERROR) << "Couldn't convert read sectors " << parts[2] << " to uint64"; return false; } if (!base::StringToUint64(parts[6], write_sectors)) { LOG(ERROR) << "Couldn't convert write sectors " << parts[6] << " to uint64"; return false; } return true; } bool MetricsDaemon::VmStatsParseStats(const char* stats, bool MetricsDaemon::VmStatsParseStats(const char* stats, struct VmstatRecord* record) { struct VmstatRecord* record) { CHECK(stats); CHECK(stats); Loading Loading @@ -766,7 +713,10 @@ void MetricsDaemon::MeminfoCallback(base::TimeDelta wait) { } } // Make both calls even if the first one fails. // Make both calls even if the first one fails. bool success = ProcessMeminfo(meminfo_raw); bool success = ProcessMeminfo(meminfo_raw); if (ProcessMeminfo(meminfo_raw)) { bool reschedule = ReportZram(base::FilePath(FILE_PATH_LITERAL("/sys/block/zram0"))) && success; if (reschedule) { base::MessageLoop::current()->PostDelayedTask(FROM_HERE, base::MessageLoop::current()->PostDelayedTask(FROM_HERE, base::Bind(&MetricsDaemon::MeminfoCallback, base::Unretained(this), base::Bind(&MetricsDaemon::MeminfoCallback, base::Unretained(this), wait), wait), Loading
metricsd/metrics_daemon.h +1 −3 Original line number Original line Diff line number Diff line Loading @@ -45,7 +45,6 @@ class MetricsDaemon : public chromeos::DBusDaemon { bool uploader_active, bool uploader_active, bool dbus_enabled, bool dbus_enabled, MetricsLibraryInterface* metrics_lib, MetricsLibraryInterface* metrics_lib, const std::string& diskstats_path, const std::string& cpuinfo_max_freq_path, const std::string& cpuinfo_max_freq_path, const std::string& scaling_max_freq_path, const std::string& scaling_max_freq_path, const base::TimeDelta& upload_interval, const base::TimeDelta& upload_interval, Loading Loading @@ -79,7 +78,6 @@ class MetricsDaemon : public chromeos::DBusDaemon { FRIEND_TEST(MetricsDaemonTest, GetHistogramPath); FRIEND_TEST(MetricsDaemonTest, GetHistogramPath); FRIEND_TEST(MetricsDaemonTest, IsNewEpoch); FRIEND_TEST(MetricsDaemonTest, IsNewEpoch); FRIEND_TEST(MetricsDaemonTest, MessageFilter); FRIEND_TEST(MetricsDaemonTest, MessageFilter); FRIEND_TEST(MetricsDaemonTest, ParseDiskStats); FRIEND_TEST(MetricsDaemonTest, ParseVmStats); FRIEND_TEST(MetricsDaemonTest, ParseVmStats); FRIEND_TEST(MetricsDaemonTest, ProcessKernelCrash); FRIEND_TEST(MetricsDaemonTest, ProcessKernelCrash); FRIEND_TEST(MetricsDaemonTest, ProcessMeminfo); FRIEND_TEST(MetricsDaemonTest, ProcessMeminfo); Loading @@ -88,6 +86,7 @@ class MetricsDaemon : public chromeos::DBusDaemon { FRIEND_TEST(MetricsDaemonTest, ProcessUserCrash); FRIEND_TEST(MetricsDaemonTest, ProcessUserCrash); FRIEND_TEST(MetricsDaemonTest, ReportCrashesDailyFrequency); FRIEND_TEST(MetricsDaemonTest, ReportCrashesDailyFrequency); FRIEND_TEST(MetricsDaemonTest, ReadFreqToInt); FRIEND_TEST(MetricsDaemonTest, ReadFreqToInt); FRIEND_TEST(MetricsDaemonTest, ReportDiskStats); FRIEND_TEST(MetricsDaemonTest, ReportKernelCrashInterval); FRIEND_TEST(MetricsDaemonTest, ReportKernelCrashInterval); FRIEND_TEST(MetricsDaemonTest, ReportUncleanShutdownInterval); FRIEND_TEST(MetricsDaemonTest, ReportUncleanShutdownInterval); FRIEND_TEST(MetricsDaemonTest, ReportUserCrashInterval); FRIEND_TEST(MetricsDaemonTest, ReportUserCrashInterval); Loading Loading @@ -325,7 +324,6 @@ class MetricsDaemon : public chromeos::DBusDaemon { scoped_ptr<PersistentInteger> unclean_shutdowns_daily_count_; scoped_ptr<PersistentInteger> unclean_shutdowns_daily_count_; scoped_ptr<PersistentInteger> unclean_shutdowns_weekly_count_; scoped_ptr<PersistentInteger> unclean_shutdowns_weekly_count_; std::string diskstats_path_; std::string scaling_max_freq_path_; std::string scaling_max_freq_path_; std::string cpuinfo_max_freq_path_; std::string cpuinfo_max_freq_path_; Loading
metricsd/metrics_daemon_main.cc +0 −24 Original line number Original line Diff line number Diff line Loading @@ -20,7 +20,6 @@ #include <base/strings/string_util.h> #include <base/strings/string_util.h> #include <chromeos/flag_helper.h> #include <chromeos/flag_helper.h> #include <chromeos/syslog_logging.h> #include <chromeos/syslog_logging.h> #include <rootdev.h> #include "constants.h" #include "constants.h" #include "metrics_daemon.h" #include "metrics_daemon.h" Loading @@ -30,28 +29,6 @@ const char kScalingMaxFreqPath[] = const char kCpuinfoMaxFreqPath[] = const char kCpuinfoMaxFreqPath[] = "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq"; "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq"; // Returns the path to the disk stats in the sysfs. Returns the null string if // it cannot find the disk stats file. static const std::string MetricsMainDiskStatsPath() { char dev_path_cstr[PATH_MAX]; std::string dev_prefix = "/dev/block/"; std::string dev_path; int ret = rootdev(dev_path_cstr, sizeof(dev_path_cstr), true, true); if (ret != 0) { LOG(WARNING) << "error " << ret << " determining root device"; return ""; } dev_path = dev_path_cstr; // Check that rootdev begins with "/dev/block/". if (!base::StartsWithASCII(dev_path, dev_prefix, false)) { LOG(WARNING) << "unexpected root device " << dev_path; return ""; } return "/sys/class/block/" + dev_path.substr(dev_prefix.length()) + "/stat"; } int main(int argc, char** argv) { int main(int argc, char** argv) { DEFINE_bool(daemon, true, "run as daemon (use -nodaemon for debugging)"); DEFINE_bool(daemon, true, "run as daemon (use -nodaemon for debugging)"); Loading Loading @@ -98,7 +75,6 @@ int main(int argc, char** argv) { FLAGS_uploader | FLAGS_uploader_test, FLAGS_uploader | FLAGS_uploader_test, FLAGS_withdbus, FLAGS_withdbus, &metrics_lib, &metrics_lib, MetricsMainDiskStatsPath(), kScalingMaxFreqPath, kScalingMaxFreqPath, kCpuinfoMaxFreqPath, kCpuinfoMaxFreqPath, base::TimeDelta::FromSeconds(FLAGS_upload_interval_secs), base::TimeDelta::FromSeconds(FLAGS_upload_interval_secs), Loading
metricsd/metrics_daemon_test.cc +0 −16 Original line number Original line Diff line number Diff line Loading @@ -82,7 +82,6 @@ class MetricsDaemonTest : public testing::Test { false, false, true, true, &metrics_lib_, &metrics_lib_, disk_stats_path_.value(), scaling_max_freq_path_.value(), scaling_max_freq_path_.value(), cpu_max_freq_path_.value(), cpu_max_freq_path_.value(), base::TimeDelta::FromMinutes(30), base::TimeDelta::FromMinutes(30), Loading Loading @@ -199,21 +198,6 @@ TEST_F(MetricsDaemonTest, SendSample) { /* min */ 1, /* max */ 100, /* buckets */ 50); /* min */ 1, /* max */ 100, /* buckets */ 50); } } TEST_F(MetricsDaemonTest, ParseDiskStats) { uint64_t read_sectors_now, write_sectors_now; CreateFakeDiskStatsFile(kFakeDiskStats0); ASSERT_TRUE(daemon_.DiskStatsReadStats(&read_sectors_now, &write_sectors_now)); EXPECT_EQ(read_sectors_now, kFakeReadSectors[0]); EXPECT_EQ(write_sectors_now, kFakeWriteSectors[0]); CreateFakeDiskStatsFile(kFakeDiskStats1); ASSERT_TRUE(daemon_.DiskStatsReadStats(&read_sectors_now, &write_sectors_now)); EXPECT_EQ(read_sectors_now, kFakeReadSectors[1]); EXPECT_EQ(write_sectors_now, kFakeWriteSectors[1]); } TEST_F(MetricsDaemonTest, ProcessMeminfo) { TEST_F(MetricsDaemonTest, ProcessMeminfo) { string meminfo = string meminfo = "MemTotal: 2000000 kB\nMemFree: 500000 kB\n" "MemTotal: 2000000 kB\nMemFree: 500000 kB\n" Loading