Thread analyzer¶
The thread analyzer module enables all the Zephyr options required to track
the thread information, e.g. thread stack size usage.
The analysis is performed on demand when the application calls
thread_analyzer_run()
or thread_analyzer_print()
.
Configuration¶
Configure this module using the following options.
THREAD_ANALYZER
: enable the module.THREAD_ANALYZER_USE_PRINTK
: use printk for thread statistics.THREAD_ANALYZER_USE_LOG
: use the logger for thread statistics.THREAD_ANALYZER_AUTO
: run the thread analyzer automatically. You do not need to add any code to the application when using this option.THREAD_ANALYZER_AUTO_INTERVAL
: the time for which the module sleeps between consecutive printing of thread analysis in automatic mode.THREAD_ANALYZER_AUTO_STACK_SIZE
: the stack for thread analyzer automatic thread.THREAD_NAME
: enable this option in the kernel to print the name of the thread instead of its ID.
API documentation¶
-
group
thread_analyzer
Module for analyzing threads.
This module implements functions and the configuration that simplifies thread analysis.
Typedefs
-
typedef void (*
thread_analyzer_cb
)(struct thread_analyzer_info *info)¶ Thread analyzer stack size callback function.
Callback function with thread analysis information.
- Parameters
info
: Thread analysis information.
Functions
-
void
thread_analyzer_run
(thread_analyzer_cb cb)¶ Run the thread analyzer and provide information to the callback.
This function analyzes the current state for all threads and calls a given callback on every thread found.
- Parameters
cb
: The callback function handler
-
void
thread_analyzer_print
(void)¶ Run the thread analyzer and print stack size statistics.
This function runs the thread analyzer and prints the output in standard form.
-
struct
thread_analyzer_info
¶ - #include <thread_analyzer.h>
-
typedef void (*