diff --git a/selfdrive/debug/cpu_usage_stat.py b/selfdrive/debug/cpu_usage_stat.py index 76f14afa0a..0bc3efdee7 100755 --- a/selfdrive/debug/cpu_usage_stat.py +++ b/selfdrive/debug/cpu_usage_stat.py @@ -24,23 +24,19 @@ import argparse import re from collections import defaultdict +import selfdrive.manager as manager # Do statistics every 5 seconds PRINT_INTERVAL = 5 SLEEP_INTERVAL = 0.2 monitored_proc_names = [ - # openpilot procs - 'controlsd', 'locationd', 'loggerd','plannerd', - 'ubloxd', 'thermald', 'uploader', 'deleter', 'radard', 'logmessaged', 'tombstoned', - 'logcatd', 'proclogd', 'boardd', 'pandad', './ui', 'ui', 'calibrationd', 'params_learner', 'modeld', 'dmonitoringd', - 'dmonitoringmodeld', 'camerad', 'sensord', 'updated', 'gpsd', 'athena', 'locationd', 'paramsd', - + # offroad APK 'ai.comma.plus.offroad', # android procs 'SurfaceFlinger', 'sensors.qcom' -] +] + manager.car_started_processes + manager.persistent_processes cpu_time_names = ['user', 'system', 'children_user', 'children_system'] @@ -48,9 +44,7 @@ timer = getattr(time, 'monotonic', time.time) def get_arg_parser(): - parser = argparse.ArgumentParser( - description="Unlogger and UI", - formatter_class=argparse.ArgumentDefaultsHelpFormatter) + parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter) parser.add_argument("proc_names", nargs="?", default='', help="Process names to be monitored, comma seperated") diff --git a/selfdrive/logcatd/logcatd_android.cc b/selfdrive/logcatd/logcatd_android.cc index 9beeddc134..8f1cf7c82e 100644 --- a/selfdrive/logcatd/logcatd_android.cc +++ b/selfdrive/logcatd/logcatd_android.cc @@ -1,7 +1,9 @@ +#include #include #include #include #include +#include #include //#include @@ -23,7 +25,7 @@ int main() { signal(SIGINT, (sighandler_t)set_do_exit); signal(SIGTERM, (sighandler_t)set_do_exit); - struct logger_list *logger_list = android_logger_list_alloc(ANDROID_LOG_RDONLY, 0, 0); + struct logger_list *logger_list = android_logger_list_alloc(ANDROID_LOG_RDONLY | ANDROID_LOG_NONBLOCK, 0, 0); assert(logger_list); struct logger *main_logger = android_logger_open(logger_list, LOG_ID_MAIN); assert(main_logger); @@ -40,7 +42,11 @@ int main() { while (!do_exit) { log_msg log_msg; err = android_logger_list_read(logger_list, &log_msg); - if (err <= 0) { + + if (err == -EAGAIN) { + usleep(500 * 1000); + continue; + } else if (err <= 0) { break; } @@ -64,5 +70,6 @@ int main() { } android_logger_list_close(logger_list); + android_logger_list_free(logger_list); return 0; }