# Debug configuration options # Copyright (c) 2015 Wind River Systems, Inc. # SPDX-License-Identifier: Apache-2.0 DT_CHOSEN_Z_CONSOLE := zephyr,console config TRACING bool "Tracing Support" imply THREAD_NAME imply THREAD_STACK_INFO imply THREAD_MONITOR select INSTRUMENT_THREAD_SWITCHING help Enable system tracing. This requires a backend such as SEGGER Systemview to be enabled as well. if TRACING config TRACING_CORE bool help Automatically selected by formats that require the core tracing infrastructure. choice prompt "Tracing Format" default TRACING_NONE config TRACING_NONE bool "No tracing format selected" help None of the available tracing formats is selected. config PERCEPIO_TRACERECORDER bool "Percepio Tracealyzer support" select THREAD_NAME select INIT_STACKS select THREAD_MONITOR depends on ZEPHYR_PERCEPIO_MODULE config SEGGER_SYSTEMVIEW bool "Segger SystemView support" select CONSOLE select RTT_CONSOLE select USE_SEGGER_RTT select THREAD_MONITOR select SEGGER_RTT_CUSTOM_LOCKING config TRACING_CTF bool "Tracing via Common Trace Format support" select TRACING_CORE help Enable tracing to a Common Trace Format stream. config TRACING_TEST bool "Tracing for test usage" select TRACING_CORE help Enable tracing for testing kinds of format purpose. It must implement the tracing hooks defined in tracing_test.h config TRACING_USER bool "Tracing using user-defined functions" help Use user-defined functions for tracing task switching and irqs endchoice config TRACING_CTF_TIMESTAMP bool "CTF internal timestamp" default y depends on TRACING_CTF help Timestamp prefix will be added to the beginning of CTF event internally. choice prompt "Tracing Method" default TRACING_ASYNC config TRACING_SYNC bool "Synchronous Tracing" select RING_BUFFER help Enable synchronous tracing. This requires the backend to be very low-latency. config TRACING_ASYNC bool "Asynchronous Tracing" select RING_BUFFER help Enable asynchronous tracing. This will buffer all the tracing packets to the ring buffer first, tracing thread will try to output as much data as possible from the buffer when tracing thread get scheduled. endchoice config TRACING_THREAD_STACK_SIZE int "Stack size of tracing thread" default 1024 depends on TRACING_ASYNC help Stack size of tracing thread. config TRACING_THREAD_WAIT_THRESHOLD int "Tracing thread waiting threshold" default 100 depends on TRACING_ASYNC help Tracing thread waiting period given in milliseconds after every first packet put to tracing buffer. config TRACING_BUFFER_SIZE int "Size of tracing buffer" default 2048 if TRACING_ASYNC default TRACING_PACKET_MAX_SIZE if TRACING_SYNC range 32 65536 help Size of tracing buffer. If TRACING_ASYNC is enabled, tracing buffer is used as a ring buffer to buffer data packet and string packet. If TRACING_SYNC is enabled, the buffer is used to hold the formatted data. config TRACING_PACKET_MAX_SIZE int "Max size of one tracing packet" default 32 help Max size of one tracing packet. choice prompt "Tracing Backend" default TRACING_BACKEND_UART config TRACING_BACKEND_UART bool "UART backend" depends on UART_CONSOLE help Use UART to output tracing data. config TRACING_BACKEND_USB bool "USB backend" depends on USB_DEVICE_STACK depends on TRACING_ASYNC help Use USB to output tracing data. config TRACING_BACKEND_POSIX bool "Posix architecture (native) backend" depends on TRACING_SYNC depends on ARCH_POSIX help Use posix architecture to output tracing data to file system. config TRACING_BACKEND_RAM bool "RAM backend" help Use a ram buffer to output tracing data which can be dumped to a file at runtime with a debugger. See gdb dump binary memory documentation for example. config TRACING_BACKEND_ADSP_MEMORY_WINDOW bool "Memory window in RAM" depends on SOC_FAMILY_INTEL_ADSP depends on TRACING_SYNC help Use ADSP memory debug memory window to output tracing data endchoice config RAM_TRACING_BUFFER_SIZE int "Ram Tracing buffer size" default 4096 depends on TRACING_BACKEND_RAM help Size of the RAM trace buffer. Trace will be discarded if the length is exceeded. config TRACING_USB_MPS int "USB backend max packet size" default 64 depends on TRACING_BACKEND_USB help USB tracing backend max packet size(endpoint MPS). config TRACING_HANDLE_HOST_CMD bool "Host command handle" select UART_INTERRUPT_DRIVEN if TRACING_BACKEND_UART help When enabled tracing will handle cmd from host to dynamically enable and disable tracing to have host capture tracing stream data conveniently. config TRACING_CMD_BUFFER_SIZE int "Size of tracing command buffer" default 32 range 32 128 help Size of tracing command buffer. config TRACING_OBJECT_TRACKING bool "Object tracking" help Keep lists to track kernel objects. menu "Tracing Configuration" config TRACING_SYSCALL bool "Tracing Syscalls" default y help Enable tracing Syscalls. config TRACING_THREAD bool "Tracing Threads" default y help Enable tracing Threads. config TRACING_WORK bool "Tracing Work" default y help Enable tracing Work and Work queue events config TRACING_ISR bool "Tracing ISRs" default y help Enable tracing ISRs. This requires the backend to be very low-latency. config TRACING_SEMAPHORE bool "Tracing Semaphores" default y help Enable tracing Semaphores. config TRACING_MUTEX bool "Tracing Mutexes" default y help Enable tracing Mutexes. config TRACING_CONDVAR bool "Tracing Condition Variables" default y help Enable tracing Condition Variables config TRACING_QUEUE bool "Tracing Queues" default y help Enable tracing Queues. config TRACING_FIFO bool "Tracing FIFO queues" default y help Enable tracing FIFO queues. config TRACING_LIFO bool "Tracing LIFO queues" default y help Enable tracing LIFO queues. config TRACING_STACK bool "Tracing Memory Stacks" default y help Enable tracing Memory Stacks. config TRACING_MESSAGE_QUEUE bool "Tracing Message Queues" default y help Enable tracing Message Queues. config TRACING_MAILBOX bool "Tracing Mailboxes" default y help Enable tracing Mailboxes. config TRACING_PIPE bool "Tracing Pipes" default y help Enable tracing Pipes. config TRACING_HEAP bool "Tracing Memory Heaps" default y help Enable tracing Memory Heaps. config TRACING_MEMORY_SLAB bool "Tracing Memory Slabs" default y help Enable tracing Memory Slabs. config TRACING_TIMER bool "Tracing Timers" default y help Enable tracing Timers. config TRACING_EVENT bool "Tracing Events" default y help Enable tracing Events. config TRACING_POLLING bool "Tracing Polling" default y help Enable tracing Work Polling and Polling API. config TRACING_PM bool "Tracing Power Management" default y help Enable tracing Power Management. config TRACING_NETWORKING bool "Tracing Network Objects" default y if NETWORKING help Enable tracing network objects. config TRACING_NET_SOCKETS bool "Tracing Network Sockets" depends on TRACING_NETWORKING default y if NET_SOCKETS help Enable tracing network sockets. config TRACING_NET_CORE bool "Tracing Network Core IP stack" depends on TRACING_NETWORKING default y if NET_IP help Enable tracing core network IP stack, like packet reception and sending. endmenu # Tracing Configuration endif source "subsys/tracing/sysview/Kconfig"