6#ifndef ZEPHYR_INCLUDE_TRACING_TRACING_H_
7#define ZEPHYR_INCLUDE_TRACING_TRACING_H_
13#if defined CONFIG_SEGGER_SYSTEMVIEW
14#include "tracing_sysview.h"
15#elif defined CONFIG_TRACING_CTF
16#include "tracing_ctf.h"
17#elif defined CONFIG_TRACING_TEST
18#include "tracing_test.h"
19#elif defined CONFIG_TRACING_USER
20#include "tracing_user.h"
49#define sys_port_trace_k_thread_foreach_enter()
54#define sys_port_trace_k_thread_foreach_exit()
59#define sys_port_trace_k_thread_foreach_unlocked_enter()
64#define sys_port_trace_k_thread_foreach_unlocked_exit()
70#define sys_port_trace_k_thread_create(new_thread)
75#define sys_port_trace_k_thread_user_mode_enter()
82#define sys_port_trace_k_thread_join_enter(thread, timeout)
89#define sys_port_trace_k_thread_join_blocking(thread, timeout)
97#define sys_port_trace_k_thread_join_exit(thread, timeout, ret)
103#define sys_port_trace_k_thread_sleep_enter(timeout)
110#define sys_port_trace_k_thread_sleep_exit(timeout, ret)
116#define sys_port_trace_k_thread_msleep_enter(ms)
123#define sys_port_trace_k_thread_msleep_exit(ms, ret)
129#define sys_port_trace_k_thread_usleep_enter(us)
136#define sys_port_trace_k_thread_usleep_exit(us, ret)
142#define sys_port_trace_k_thread_busy_wait_enter(usec_to_wait)
148#define sys_port_trace_k_thread_busy_wait_exit(usec_to_wait)
153#define sys_port_trace_k_thread_yield()
159#define sys_port_trace_k_thread_wakeup(thread)
165#define sys_port_trace_k_thread_start(thread)
171#define sys_port_trace_k_thread_abort(thread)
177#define sys_port_trace_k_thread_abort_enter(thread)
183#define sys_port_trace_k_thread_abort_exit(thread)
189#define sys_port_trace_k_thread_priority_set(thread)
196#define sys_port_trace_k_thread_suspend_enter(thread)
203#define sys_port_trace_k_thread_suspend_exit(thread)
210#define sys_port_trace_k_thread_resume_enter(thread)
217#define sys_port_trace_k_thread_resume_exit(thread)
222#define sys_port_trace_k_thread_sched_lock()
227#define sys_port_trace_k_thread_sched_unlock()
234#define sys_port_trace_k_thread_name_set(thread, ret)
239#define sys_port_trace_k_thread_switched_out()
244#define sys_port_trace_k_thread_switched_in()
250#define sys_port_trace_k_thread_ready(thread)
256#define sys_port_trace_k_thread_pend(thread)
262#define sys_port_trace_k_thread_info(thread)
268#define sys_port_trace_k_thread_sched_wakeup(thread)
274#define sys_port_trace_k_thread_sched_abort(thread)
281#define sys_port_trace_k_thread_sched_priority_set(thread, prio)
287#define sys_port_trace_k_thread_sched_ready(thread)
293#define sys_port_trace_k_thread_sched_pend(thread)
299#define sys_port_trace_k_thread_sched_resume(thread)
305#define sys_port_trace_k_thread_sched_suspend(thread)
319#define sys_port_trace_k_work_init(work)
326#define sys_port_trace_k_work_submit_to_queue_enter(queue, work)
334#define sys_port_trace_k_work_submit_to_queue_exit(queue, work, ret)
340#define sys_port_trace_k_work_submit_enter(work)
347#define sys_port_trace_k_work_submit_exit(work, ret)
353#define sys_port_trace_k_work_flush_enter(work)
360#define sys_port_trace_k_work_flush_blocking(work, timeout)
367#define sys_port_trace_k_work_flush_exit(work, ret)
373#define sys_port_trace_k_work_cancel_enter(work)
380#define sys_port_trace_k_work_cancel_exit(work, ret)
387#define sys_port_trace_k_work_cancel_sync_enter(work, sync)
394#define sys_port_trace_k_work_cancel_sync_blocking(work, sync)
402#define sys_port_trace_k_work_cancel_sync_exit(work, sync, ret)
416#define sys_port_trace_k_work_queue_init(queue)
422#define sys_port_trace_k_work_queue_start_enter(queue)
428#define sys_port_trace_k_work_queue_start_exit(queue)
434#define sys_port_trace_k_work_queue_drain_enter(queue)
441#define sys_port_trace_k_work_queue_drain_exit(queue, ret)
447#define sys_port_trace_k_work_queue_unplug_enter(queue)
454#define sys_port_trace_k_work_queue_unplug_exit(queue, ret)
468#define sys_port_trace_k_work_delayable_init(dwork)
476#define sys_port_trace_k_work_schedule_for_queue_enter(queue, dwork, delay)
485#define sys_port_trace_k_work_schedule_for_queue_exit(queue, dwork, delay, ret)
492#define sys_port_trace_k_work_schedule_enter(dwork, delay)
500#define sys_port_trace_k_work_schedule_exit(dwork, delay, ret)
508#define sys_port_trace_k_work_reschedule_for_queue_enter(queue, dwork, delay)
517#define sys_port_trace_k_work_reschedule_for_queue_exit(queue, dwork, delay, ret)
524#define sys_port_trace_k_work_reschedule_enter(dwork, delay)
532#define sys_port_trace_k_work_reschedule_exit(dwork, delay, ret)
539#define sys_port_trace_k_work_flush_delayable_enter(dwork, sync)
547#define sys_port_trace_k_work_flush_delayable_exit(dwork, sync, ret)
553#define sys_port_trace_k_work_cancel_delayable_enter(dwork)
560#define sys_port_trace_k_work_cancel_delayable_exit(dwork, ret)
567#define sys_port_trace_k_work_cancel_delayable_sync_enter(dwork, sync)
575#define sys_port_trace_k_work_cancel_delayable_sync_exit(dwork, sync, ret)
589#define sys_port_trace_k_work_poll_init_enter(work)
595#define sys_port_trace_k_work_poll_init_exit(work)
603#define sys_port_trace_k_work_poll_submit_to_queue_enter(work_q, work, timeout)
611#define sys_port_trace_k_work_poll_submit_to_queue_blocking(work_q, work, timeout)
620#define sys_port_trace_k_work_poll_submit_to_queue_exit(work_q, work, timeout, ret)
627#define sys_port_trace_k_work_poll_submit_enter(work, timeout)
635#define sys_port_trace_k_work_poll_submit_exit(work, timeout, ret)
641#define sys_port_trace_k_work_poll_cancel_enter(work)
648#define sys_port_trace_k_work_poll_cancel_exit(work, ret)
662#define sys_port_trace_k_poll_api_event_init(event)
668#define sys_port_trace_k_poll_api_poll_enter(events)
675#define sys_port_trace_k_poll_api_poll_exit(events, ret)
681#define sys_port_trace_k_poll_api_signal_init(signal)
687#define sys_port_trace_k_poll_api_signal_reset(signal)
693#define sys_port_trace_k_poll_api_signal_check(signal)
700#define sys_port_trace_k_poll_api_signal_raise(signal, ret)
715#define sys_port_trace_k_sem_init(sem, ret)
721#define sys_port_trace_k_sem_give_enter(sem)
727#define sys_port_trace_k_sem_give_exit(sem)
734#define sys_port_trace_k_sem_take_enter(sem, timeout)
741#define sys_port_trace_k_sem_take_blocking(sem, timeout)
749#define sys_port_trace_k_sem_take_exit(sem, timeout, ret)
755#define sys_port_trace_k_sem_reset(sem)
770#define sys_port_trace_k_mutex_init(mutex, ret)
777#define sys_port_trace_k_mutex_lock_enter(mutex, timeout)
784#define sys_port_trace_k_mutex_lock_blocking(mutex, timeout)
792#define sys_port_trace_k_mutex_lock_exit(mutex, timeout, ret)
798#define sys_port_trace_k_mutex_unlock_enter(mutex)
803#define sys_port_trace_k_mutex_unlock_exit(mutex, ret)
818#define sys_port_trace_k_condvar_init(condvar, ret)
824#define sys_port_trace_k_condvar_signal_enter(condvar)
831#define sys_port_trace_k_condvar_signal_blocking(condvar, timeout)
838#define sys_port_trace_k_condvar_signal_exit(condvar, ret)
844#define sys_port_trace_k_condvar_broadcast_enter(condvar)
851#define sys_port_trace_k_condvar_broadcast_exit(condvar, ret)
857#define sys_port_trace_k_condvar_wait_enter(condvar)
864#define sys_port_trace_k_condvar_wait_exit(condvar, ret)
878#define sys_port_trace_k_queue_init(queue)
884#define sys_port_trace_k_queue_cancel_wait(queue)
891#define sys_port_trace_k_queue_queue_insert_enter(queue, alloc)
899#define sys_port_trace_k_queue_queue_insert_blocking(queue, alloc, timeout)
907#define sys_port_trace_k_queue_queue_insert_exit(queue, alloc, ret)
913#define sys_port_trace_k_queue_append_enter(queue)
919#define sys_port_trace_k_queue_append_exit(queue)
925#define sys_port_trace_k_queue_alloc_append_enter(queue)
932#define sys_port_trace_k_queue_alloc_append_exit(queue, ret)
938#define sys_port_trace_k_queue_prepend_enter(queue)
944#define sys_port_trace_k_queue_prepend_exit(queue)
950#define sys_port_trace_k_queue_alloc_prepend_enter(queue)
957#define sys_port_trace_k_queue_alloc_prepend_exit(queue, ret)
963#define sys_port_trace_k_queue_insert_enter(queue)
970#define sys_port_trace_k_queue_insert_blocking(queue, timeout)
976#define sys_port_trace_k_queue_insert_exit(queue)
982#define sys_port_trace_k_queue_append_list_enter(queue)
989#define sys_port_trace_k_queue_append_list_exit(queue, ret)
995#define sys_port_trace_k_queue_merge_slist_enter(queue)
1002#define sys_port_trace_k_queue_merge_slist_exit(queue, ret)
1009#define sys_port_trace_k_queue_get_enter(queue, timeout)
1016#define sys_port_trace_k_queue_get_blocking(queue, timeout)
1024#define sys_port_trace_k_queue_get_exit(queue, timeout, ret)
1030#define sys_port_trace_k_queue_remove_enter(queue)
1037#define sys_port_trace_k_queue_remove_exit(queue, ret)
1043#define sys_port_trace_k_queue_unique_append_enter(queue)
1051#define sys_port_trace_k_queue_unique_append_exit(queue, ret)
1058#define sys_port_trace_k_queue_peek_head(queue, ret)
1065#define sys_port_trace_k_queue_peek_tail(queue, ret)
1079#define sys_port_trace_k_fifo_init_enter(fifo)
1085#define sys_port_trace_k_fifo_init_exit(fifo)
1091#define sys_port_trace_k_fifo_cancel_wait_enter(fifo)
1097#define sys_port_trace_k_fifo_cancel_wait_exit(fifo)
1104#define sys_port_trace_k_fifo_put_enter(fifo, data)
1111#define sys_port_trace_k_fifo_put_exit(fifo, data)
1118#define sys_port_trace_k_fifo_alloc_put_enter(fifo, data)
1126#define sys_port_trace_k_fifo_alloc_put_exit(fifo, data, ret)
1134#define sys_port_trace_k_fifo_put_list_enter(fifo, head, tail)
1142#define sys_port_trace_k_fifo_put_list_exit(fifo, head, tail)
1149#define sys_port_trace_k_fifo_alloc_put_slist_enter(fifo, list)
1156#define sys_port_trace_k_fifo_alloc_put_slist_exit(fifo, list)
1163#define sys_port_trace_k_fifo_get_enter(fifo, timeout)
1171#define sys_port_trace_k_fifo_get_exit(fifo, timeout, ret)
1177#define sys_port_trace_k_fifo_peek_head_enter(fifo)
1184#define sys_port_trace_k_fifo_peek_head_exit(fifo, ret)
1190#define sys_port_trace_k_fifo_peek_tail_enter(fifo)
1197#define sys_port_trace_k_fifo_peek_tail_exit(fifo, ret)
1211#define sys_port_trace_k_lifo_init_enter(lifo)
1217#define sys_port_trace_k_lifo_init_exit(lifo)
1224#define sys_port_trace_k_lifo_put_enter(lifo, data)
1231#define sys_port_trace_k_lifo_put_exit(lifo, data)
1238#define sys_port_trace_k_lifo_alloc_put_enter(lifo, data)
1246#define sys_port_trace_k_lifo_alloc_put_exit(lifo, data, ret)
1253#define sys_port_trace_k_lifo_get_enter(lifo, timeout)
1261#define sys_port_trace_k_lifo_get_exit(lifo, timeout, ret)
1275#define sys_port_trace_k_stack_init(stack)
1281#define sys_port_trace_k_stack_alloc_init_enter(stack)
1288#define sys_port_trace_k_stack_alloc_init_exit(stack, ret)
1294#define sys_port_trace_k_stack_cleanup_enter(stack)
1301#define sys_port_trace_k_stack_cleanup_exit(stack, ret)
1307#define sys_port_trace_k_stack_push_enter(stack)
1314#define sys_port_trace_k_stack_push_exit(stack, ret)
1321#define sys_port_trace_k_stack_pop_enter(stack, timeout)
1328#define sys_port_trace_k_stack_pop_blocking(stack, timeout)
1336#define sys_port_trace_k_stack_pop_exit(stack, timeout, ret)
1350#define sys_port_trace_k_msgq_init(msgq)
1356#define sys_port_trace_k_msgq_alloc_init_enter(msgq)
1363#define sys_port_trace_k_msgq_alloc_init_exit(msgq, ret)
1369#define sys_port_trace_k_msgq_cleanup_enter(msgq)
1376#define sys_port_trace_k_msgq_cleanup_exit(msgq, ret)
1383#define sys_port_trace_k_msgq_put_enter(msgq, timeout)
1390#define sys_port_trace_k_msgq_put_blocking(msgq, timeout)
1398#define sys_port_trace_k_msgq_put_exit(msgq, timeout, ret)
1405#define sys_port_trace_k_msgq_get_enter(msgq, timeout)
1412#define sys_port_trace_k_msgq_get_blocking(msgq, timeout)
1420#define sys_port_trace_k_msgq_get_exit(msgq, timeout, ret)
1427#define sys_port_trace_k_msgq_peek(msgq, ret)
1433#define sys_port_trace_k_msgq_purge(msgq)
1447#define sys_port_trace_k_mbox_init(mbox)
1454#define sys_port_trace_k_mbox_message_put_enter(mbox, timeout)
1461#define sys_port_trace_k_mbox_message_put_blocking(mbox, timeout)
1469#define sys_port_trace_k_mbox_message_put_exit(mbox, timeout, ret)
1476#define sys_port_trace_k_mbox_put_enter(mbox, timeout)
1484#define sys_port_trace_k_mbox_put_exit(mbox, timeout, ret)
1491#define sys_port_trace_k_mbox_async_put_enter(mbox, sem)
1498#define sys_port_trace_k_mbox_async_put_exit(mbox, sem)
1505#define sys_port_trace_k_mbox_get_enter(mbox, timeout)
1512#define sys_port_trace_k_mbox_get_blocking(mbox, timeout)
1520#define sys_port_trace_k_mbox_get_exit(mbox, timeout, ret)
1526#define sys_port_trace_k_mbox_data_get(rx_msg)
1540#define sys_port_trace_k_pipe_init(pipe)
1546#define sys_port_trace_k_pipe_cleanup_enter(pipe)
1553#define sys_port_trace_k_pipe_cleanup_exit(pipe, ret)
1559#define sys_port_trace_k_pipe_alloc_init_enter(pipe)
1566#define sys_port_trace_k_pipe_alloc_init_exit(pipe, ret)
1572#define sys_port_trace_k_pipe_flush_enter(pipe)
1578#define sys_port_trace_k_pipe_flush_exit(pipe)
1584#define sys_port_trace_k_pipe_buffer_flush_enter(pipe)
1590#define sys_port_trace_k_pipe_buffer_flush_exit(pipe)
1597#define sys_port_trace_k_pipe_put_enter(pipe, timeout)
1604#define sys_port_trace_k_pipe_put_blocking(pipe, timeout)
1612#define sys_port_trace_k_pipe_put_exit(pipe, timeout, ret)
1619#define sys_port_trace_k_pipe_get_enter(pipe, timeout)
1626#define sys_port_trace_k_pipe_get_blocking(pipe, timeout)
1634#define sys_port_trace_k_pipe_get_exit(pipe, timeout, ret)
1648#define sys_port_trace_k_heap_init(h)
1655#define sys_port_trace_k_heap_aligned_alloc_enter(h, timeout)
1662#define sys_port_trace_k_heap_aligned_alloc_blocking(h, timeout)
1670#define sys_port_trace_k_heap_aligned_alloc_exit(h, timeout, ret)
1677#define sys_port_trace_k_heap_alloc_enter(h, timeout)
1685#define sys_port_trace_k_heap_alloc_exit(h, timeout, ret)
1691#define sys_port_trace_k_heap_free(h)
1700#define sys_port_trace_k_heap_realloc_enter(h, ptr, bytes, timeout)
1710#define sys_port_trace_k_heap_realloc_exit(h, ptr, bytes, timeout, ret)
1716#define sys_port_trace_k_heap_sys_k_aligned_alloc_enter(heap)
1723#define sys_port_trace_k_heap_sys_k_aligned_alloc_exit(heap, ret)
1729#define sys_port_trace_k_heap_sys_k_malloc_enter(heap)
1736#define sys_port_trace_k_heap_sys_k_malloc_exit(heap, ret)
1743#define sys_port_trace_k_heap_sys_k_free_enter(heap, heap_ref)
1750#define sys_port_trace_k_heap_sys_k_free_exit(heap, heap_ref)
1756#define sys_port_trace_k_heap_sys_k_calloc_enter(heap)
1763#define sys_port_trace_k_heap_sys_k_calloc_exit(heap, ret)
1770#define sys_port_trace_k_heap_sys_k_realloc_enter(heap, ptr)
1778#define sys_port_trace_k_heap_sys_k_realloc_exit(heap, ptr, ret)
1793#define sys_port_trace_k_mem_slab_init(slab, rc)
1800#define sys_port_trace_k_mem_slab_alloc_enter(slab, timeout)
1807#define sys_port_trace_k_mem_slab_alloc_blocking(slab, timeout)
1815#define sys_port_trace_k_mem_slab_alloc_exit(slab, timeout, ret)
1821#define sys_port_trace_k_mem_slab_free_enter(slab)
1827#define sys_port_trace_k_mem_slab_free_exit(slab)
1841#define sys_port_trace_k_timer_init(timer)
1849#define sys_port_trace_k_timer_start(timer, duration, period)
1855#define sys_port_trace_k_timer_stop(timer)
1861#define sys_port_trace_k_timer_status_sync_enter(timer)
1868#define sys_port_trace_k_timer_status_sync_blocking(timer, timeout)
1875#define sys_port_trace_k_timer_status_sync_exit(timer, result)
1889#define sys_port_trace_k_event_init(event)
1897#define sys_port_trace_k_event_post_enter(event, events, events_mask)
1905#define sys_port_trace_k_event_post_exit(event, events, events_mask)
1914#define sys_port_trace_k_event_wait_enter(event, events, options, timeout)
1923#define sys_port_trace_k_event_wait_blocking(event, events, options, timeout)
1931#define sys_port_trace_k_event_wait_exit(event, events, ret)
1945#define sys_port_trace_pm_system_suspend_enter(ticks)
1952#define sys_port_trace_pm_system_suspend_exit(ticks, state)
1966#define sys_port_trace_pm_device_runtime_get_enter(dev)
1973#define sys_port_trace_pm_device_runtime_get_exit(dev, ret)
1979#define sys_port_trace_pm_device_runtime_put_enter(dev)
1986#define sys_port_trace_pm_device_runtime_put_exit(dev, ret)
1993#define sys_port_trace_pm_device_runtime_put_async_enter(dev, delay)
2001#define sys_port_trace_pm_device_runtime_put_async_exit(dev, delay, ret)
2007#define sys_port_trace_pm_device_runtime_enable_enter(dev)
2014#define sys_port_trace_pm_device_runtime_enable_exit(dev, ret)
2020#define sys_port_trace_pm_device_runtime_disable_enter(dev)
2027#define sys_port_trace_pm_device_runtime_disable_exit(dev, ret)
2044#define sys_port_trace_socket_init(socket, family, type, proto)
2050#define sys_port_trace_socket_close_enter(socket)
2057#define sys_port_trace_socket_close_exit(socket, ret)
2064#define sys_port_trace_socket_shutdown_enter(socket, how)
2071#define sys_port_trace_socket_shutdown_exit(socket, ret)
2079#define sys_port_trace_socket_bind_enter(socket, addr, addrlen)
2086#define sys_port_trace_socket_bind_exit(socket, ret)
2094#define sys_port_trace_socket_connect_enter(socket, addr, addrlen)
2101#define sys_port_trace_socket_connect_exit(socket, ret)
2108#define sys_port_trace_socket_listen_enter(socket, backlog)
2115#define sys_port_trace_socket_listen_exit(socket, ret)
2121#define sys_port_trace_socket_accept_enter(socket)
2130#define sys_port_trace_socket_accept_exit(socket, addr, addrlen, ret)
2140#define sys_port_trace_socket_sendto_enter(socket, len, flags, dest_addr, addrlen)
2147#define sys_port_trace_socket_sendto_exit(socket, ret)
2155#define sys_port_trace_socket_sendmsg_enter(socket, msg, flags)
2162#define sys_port_trace_socket_sendmsg_exit(socket, ret)
2172#define sys_port_trace_socket_recvfrom_enter(socket, max_len, flags, addr, addrlen)
2181#define sys_port_trace_socket_recvfrom_exit(socket, src_addr, addrlen, ret)
2189#define sys_port_trace_socket_recvmsg_enter(socket, msg, flags)
2197#define sys_port_trace_socket_recvmsg_exit(socket, msg, ret)
2205#define sys_port_trace_socket_fcntl_enter(socket, cmd, flags)
2212#define sys_port_trace_socket_fcntl_exit(socket, ret)
2219#define sys_port_trace_socket_ioctl_enter(socket, req)
2226#define sys_port_trace_socket_ioctl_exit(socket, ret)
2234#define sys_port_trace_socket_poll_enter(fds, nfds, timeout)
2242#define sys_port_trace_socket_poll_exit(fds, nfds, ret)
2250#define sys_port_trace_socket_getsockopt_enter(socket, level, optname)
2261#define sys_port_trace_socket_getsockopt_exit(socket, level, optname, optval, optlen, ret)
2271#define sys_port_trace_socket_setsockopt_enter(socket, level, optname, optval, optlen)
2278#define sys_port_trace_socket_setsockopt_exit(socket, ret)
2284#define sys_port_trace_socket_getpeername_enter(socket)
2293#define sys_port_trace_socket_getpeername_exit(socket, addr, addrlen, ret)
2299#define sys_port_trace_socket_getsockname_enter(socket)
2308#define sys_port_trace_socket_getsockname_exit(socket, addr, addrlen, ret)
2317#define sys_port_trace_socket_socketpair_enter(family, type, proto, sv)
2325#define sys_port_trace_socket_socketpair_exit(socket_A, socket_B, ret)
2329#if defined(CONFIG_PERCEPIO_TRACERECORDER)
2330#include "tracing_tracerecorder.h"
2356#define sys_trace_sys_init_enter(entry, level)
2361#define sys_trace_sys_init_exit(entry, level, result)
void sys_trace_isr_exit_to_scheduler(void)
Called when exiting an ISR and switching to scheduler.
void sys_trace_isr_enter(void)
Called when entering an ISR.
void sys_trace_isr_exit(void)
Called when exiting an ISR.
void sys_trace_idle(void)
Called when the cpu enters the idle state.