mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-31 19:24:33 +02:00
Merge branch 'bugfix/increase_pm_dump_time_field_length_v4.3' into 'release/v4.3'
Power Management: increase pm_dump time field width (backport v4.3) See merge request espressif/esp-idf!24447
This commit is contained in:
@@ -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));
|
||||
}
|
||||
|
@@ -1,16 +1,8 @@
|
||||
// Copyright 2016-2017 Espressif Systems (Shanghai) PTE LTD
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2016-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@@ -168,12 +160,18 @@ 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 %-14s %-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];
|
||||
char line[128];
|
||||
SLIST_FOREACH(it, &s_list, next) {
|
||||
char *buf = line;
|
||||
size_t len = sizeof(line);
|
||||
@@ -193,12 +191,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 %-14lld %-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);
|
||||
|
Reference in New Issue
Block a user