Page 1 of 1

How to profile ESP32 application performance?

Posted: Fri Sep 27, 2019 7:10 pm
by sshydlovskyi
Hi!

Currently, we use ESP32-LyraT v4.3 for our project. There's a configuration option, CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS, that can print some performance information, but it only goes to big tasks, like main and idle.

Is there any option to get at least that information for separate functions?
I assume that everything from ESP-IDF environment works correctly and I want to know which of my own code functions takes most of the time and try to optimize them.

I know that there's also JTAG interface connection possibility, but can I get on without it?

Thanks.

Re: How to profile ESP32 application performance?

Posted: Thu Oct 10, 2019 3:23 am
by ESP_Dazz
Take a look at the Gcov Guide and Gcov Exmaple. It should be able to profile any functions of your choosing, but it requires JTAG.

Re: How to profile ESP32 application performance?

Posted: Thu Oct 10, 2019 12:10 pm
by username
There's a configuration option, CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS, that can print some performance information, but it only goes to big tasks, like main and idle.
Not true, it goes for all tasks. I have been working on a "Htop" clone like thing.. Hope to post it soon.
Its based on the example here.
https://github.com/espressif/esp-idf/tr ... time_stats

Annotation 2019-10-02 072646.jpg
Annotation 2019-10-02 072646.jpg (63.79 KiB) Viewed 5377 times