# 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 "Enabling Tracing" imply THREAD_NAME imply THREAD_STACK_INFO help Enable system tracing. This requires a backend such as SEGGER Systemview to be enabled as well. if TRACING 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 in ring buffer as possible 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 ring_buffer to buffer data packet and string packet. If TRACING_SYNC is enabled, it's used to hold the formated 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 "Enable UART backend" depends on UART_CONSOLE depends on TRACING_ASYNC help When enabled backend is using UART to output tracing data. config TRACING_BACKEND_USB bool "Enable USB backend" depends on TRACING_ASYNC help When enabled backend is using USB to output tracing data. config TRACING_BACKEND_POSIX bool "Enable POSIX backend" depends on TRACING_SYNC depends on ARCH_POSIX help When enabled backend is using posix API to output tracing data to file system. endchoice config TRACING_BACKEND_UART_NAME string "Device Name of UART Device for UART backend" default "$(dt_chosen_label,$(DT_CHOSEN_Z_CONSOLE))" if HAS_DTS default "UART_0" depends on TRACING_BACKEND_UART help This option specifies the name of UART device to be used for tracing backend. 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 "Enable host cmd 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 cmd buffer" default 32 range 32 128 help Size of tracing command buffer. config TRACING_ISR bool "Enabling Tracing ISR" default y help Enable tracing ISR. This requires the backend to be very low-latency. endif config TRACING_CPU_STATS bool "Enable CPU usage tracing" select THREAD_MONITOR select THREAD_STACK_INFO select TRACING help Module provides information about percent of CPU usage based on tracing hooks for threads switching in and out, interrupts enters and exits (only distinguishes between idle thread, non idle thread and scheduler). Use provided API or enable automatic logging to get values. config TRACING_CPU_STATS_LOG bool "Enable current CPU usage logging" depends on TRACING_CPU_STATS help Periodically displays information about CPU usage. config TRACING_CPU_STATS_INTERVAL int "Logging interval for CPU measurements [ms]" default 2000 depends on TRACING_CPU_STATS_LOG help Time period of displaying information about CPU usage. config TRACING_CTF bool "Tracing via Common Trace Format support" select THREAD_MONITOR select TRACING help Enable tracing to a Common Trace Format stream. config TRACING_CTF_TIMESTAMP bool "Enable CTF internal timestamp" default y help Timestamp prefix will be added to the beginning of CTF event internally. config TRACING_TEST bool "Tracing for test usage" depends on TRACING help Enable tracing for testing kinds of format purpose. It must implement the tracing hooks defined in tracing_test.h source "subsys/tracing/Kconfig.segger"