bool collect_charging_state = true;
bool collect_booting = true;
bool collect_camera_active = false;
+
+ // Sleep for the given number of seconds.
+ virtual void Sleep(size_t seconds) = 0;
};
#endif // SYSTEM_EXTRAS_PERFPROFD_CONFIG_H_
unsigned sleep_after_collect = 0;
determine_before_after(sleep_before_collect, sleep_after_collect,
config->collection_interval_in_s);
- perfprofd_sleep(sleep_before_collect);
+ config->Sleep(sleep_before_collect);
// Reread config file -- the uploader may have rewritten it as a result
// of a gservices change
W_ALOGI("profile collection complete");
}
}
- perfprofd_sleep(sleep_after_collect);
+ config->Sleep(sleep_after_collect);
iterations += 1;
}
int main(int argc, char** argv)
{
- Config config;
+ struct PosixSleepConfig : public Config {
+ void Sleep(size_t seconds) override {
+ sleep(seconds);
+ }
+ };
+ PosixSleepConfig config;
return perfprofd_main(argc, argv, &config);
}
extern void perfprofd_log_error(const char *fmt, ...);
extern void perfprofd_log_warning(const char *fmt, ...);
extern void perfprofd_log_info(const char *fmt, ...);
-extern void perfprofd_sleep(int seconds);
#define W_ALOGE perfprofd_log_error
#define W_ALOGW perfprofd_log_warning
unlink(processed.c_str());
}
+ struct LoggingConfig : public Config {
+ void Sleep(size_t seconds) override {
+ // Log sleep calls but don't sleep.
+ perfprofd_log_info("sleep %d seconds", seconds);
+ }
+ };
+
int invoke()
{
static const char *argv[3] = { "perfprofd", "-c", "" };
writeConfigFile(config_path_, config_text_);
// execute daemon main
- Config config;
+ LoggingConfig config;
return perfprofd_main(3, (char **) argv, &config);
}
config_reader.overrideUnsignedEntry("collect_cpu_utilization", 0);
config_reader.overrideUnsignedEntry("collect_charging_state", 0);
config_reader.overrideUnsignedEntry("collect_camera_active", 0);
- Config config;
+ PerfProfdRunner::LoggingConfig config;
config_reader.FillConfig(&config);
// Kick off encoder and check return code
config_reader.overrideUnsignedEntry("collect_cpu_utilization", 0);
config_reader.overrideUnsignedEntry("collect_charging_state", 0);
config_reader.overrideUnsignedEntry("collect_camera_active", 0);
- Config config;
+ PerfProfdRunner::LoggingConfig config;
config_reader.FillConfig(&config);
// Kick off encoder and check return code
va_end(ap);
}
-void perfprofd_sleep(int seconds)
-{
- perfprofd_log_info("sleep %d seconds", seconds);
-}
-
}