7#ifndef __STACK_SIZE_ANALYZER_H
8#define __STACK_SIZE_ANALYZER_H
36#ifdef CONFIG_THREAD_RUNTIME_STATS
37 unsigned int utilization;
38#ifdef CONFIG_SCHED_THREAD_USAGE
43#ifdef CONFIG_THREAD_ANALYZER_STACK_SAFETY
47#ifdef CONFIG_THREAD_ANALYZER_PRIV_STACK_USAGE
49 size_t priv_stack_size;
52 size_t priv_stack_used;
59#define THREAD_ANALYZE_STACK_SAFETY_NO_ISSUES 0
62#define THREAD_ANALYZE_STACK_SAFETY_THRESHOLD_EXCEEDED 1
65#define THREAD_ANALYZE_STACK_SAFETY_AT_LIMIT 2
68#define THREAD_ANALYZE_STACK_SAFETY_OVERFLOW 3
void thread_analyzer_stack_safety_handler_set(thread_analyzer_stack_safety_handler handler)
Change the thread analyzer stack safety callback function.
void thread_analyzer_print(unsigned int cpu)
Run the thread analyzer and print stack size statistics.
void(* thread_analyzer_cb)(struct thread_analyzer_info *info)
Thread analyzer stack size callback function.
Definition thread_analyzer.h:100
void(* thread_analyzer_stack_safety_handler)(struct k_thread *thread, size_t unused_space, uint32_t *stack_issue)
Thread analyzer stack safety callback function.
Definition thread_analyzer.h:78
void thread_analyzer_run(thread_analyzer_cb cb, unsigned int cpu)
Run the thread analyzer and provide information to the callback.
struct k_thread_runtime_stats k_thread_runtime_stats_t
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
Thread Structure.
Definition thread.h:263
Definition thread_analyzer.h:26
const char * name
The name of the thread or stringified address of the thread handle if name is not set.
Definition thread_analyzer.h:30
size_t stack_used
Stack size in used.
Definition thread_analyzer.h:34
size_t stack_size
The total size of the stack.
Definition thread_analyzer.h:32