esp_pm: Label each column of lock dump

This commit is contained in:
Sachin Parekh 2021-01-18 21:28:36 +05:30 committed by BOT
parent 9195898b15
commit f8ae448767
2 changed files with 13 additions and 5 deletions

View File

@ -674,15 +674,17 @@ void esp_pm_impl_dump_stats(FILE* out)
time_in_mode[cur_mode] += now - last_mode_change_time;
fprintf(out, "Mode stats:\n");
fprintf(out, "\nMode stats:\n");
fprintf(out, "%-8s %-10s %-10s %-10s\n", "Mode", "CPU_freq", "Time(us)", "Time(%)");
for (int i = 0; i < PM_MODE_COUNT; ++i) {
if (i == PM_MODE_LIGHT_SLEEP && !s_light_sleep_en) {
/* don't display light sleep mode if it's not enabled */
continue;
}
fprintf(out, "%8s %3dM %12lld %2d%%\n",
fprintf(out, "%-8s %-3dM%-7s %-10lld %-2d%%\n",
s_mode_names[i],
s_cpu_freq_by_mode[i].freq_mhz,
"", //Empty space to align columns
time_in_mode[i],
(int) (time_in_mode[i] * 100 / now));
}

View File

@ -168,10 +168,16 @@ esp_err_t esp_pm_dump_locks(FILE* stream)
_lock_acquire(&s_list_lock);
#ifdef WITH_PROFILING
fprintf(stream, "Time: %lld\n", cur_time);
fprintf(stream, "Time since bootup: %lld us\n", cur_time);
#endif
fprintf(stream, "Lock stats:\n");
#ifdef WITH_PROFILING
fprintf(stream, "%-15s %-14s %-5s %-8s %-13s %-8s %-8s\n",
"Name", "Type", "Arg", "Active", "Total_count", "Time(us)", "Time(%)");
#else
fprintf(stream, "%-15s %-14s %-5s %-8s\n", "Name", "Type", "Arg", "Active");
#endif
esp_pm_lock_t* it;
char line[80];
SLIST_FOREACH(it, &s_list, next) {
@ -193,12 +199,12 @@ esp_err_t esp_pm_dump_locks(FILE* stream)
if (it->count > 0) {
time_held += cur_time - it->last_taken;
}
snprintf(buf, len, "%14s %3d %3d %9d %12lld %3lld%%\n",
snprintf(buf, len, "%-14s %-5d %-8d %-13d %-8lld %-3lld%%\n",
s_lock_type_names[it->type], it->arg,
it->count, it->times_taken, time_held,
(time_held + cur_time_d100 - 1) / cur_time_d100);
#else
snprintf(buf, len, "%14s %3d %3d\n", s_lock_type_names[it->type], it->arg, it->count);
snprintf(buf, len, "%-14s %-5d %-8d\n", s_lock_type_names[it->type], it->arg, it->count);
#endif // WITH_PROFILING
portEXIT_CRITICAL(&it->spinlock);
fputs(line, stream);