You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
175 lines
5.1 KiB
175 lines
5.1 KiB
# Copyright (c) 2021 Nordic Semiconductor ASA |
|
# SPDX-License-Identifier: Apache-2.0 |
|
|
|
menu "Processing" |
|
|
|
if !LOG_MODE_MINIMAL |
|
|
|
config LOG_PRINTK |
|
bool "Process printk messages" |
|
default y if PRINTK |
|
help |
|
If enabled, printk messages are redirected to the logging subsystem. |
|
The messages are formatted in place and logged unconditionally. |
|
|
|
if LOG_MODE_DEFERRED && !LOG_FRONTEND_ONLY |
|
|
|
config LOG_MODE_OVERFLOW |
|
bool "Drop oldest message when full" |
|
default y |
|
help |
|
If enabled, then if there is no space to log a new message, the |
|
oldest one is dropped. If disabled, current message is dropped. |
|
|
|
config LOG_BLOCK_IN_THREAD |
|
bool "Block in thread context on full" |
|
depends on MULTITHREADING |
|
help |
|
When enabled logger will block (if in the thread context) when |
|
internal logger buffer is full and new message cannot be allocated. |
|
|
|
config LOG_BLOCK_IN_THREAD_TIMEOUT_MS |
|
int "Maximum time (in milliseconds) thread can be blocked" |
|
default 1000 |
|
range -1 10000 |
|
depends on LOG_BLOCK_IN_THREAD |
|
help |
|
If new buffer for a log message cannot be allocated in that time, log |
|
message is dropped. Forever blocking (-1) is possible however may lead |
|
to the logger deadlock if logging is enabled in threads used for |
|
logging (e.g. logger or shell thread). |
|
|
|
config LOG_PROCESS_TRIGGER_THRESHOLD |
|
int "Number of buffered log messages before flushing" |
|
default 10 |
|
depends on MULTITHREADING |
|
help |
|
When number of buffered messages reaches the threshold thread is waken |
|
up. Log processing thread ID is provided during log initialization. |
|
Set 0 to disable the feature. If LOG_PROCESS_THREAD is enabled then |
|
this threshold is used by the internal thread. |
|
|
|
config LOG_PROCESS_THREAD |
|
bool "Use internal thread for log processing" |
|
depends on MULTITHREADING |
|
default y |
|
help |
|
When enabled thread is created by the logger subsystem. Thread is |
|
waken up periodically (see LOG_PROCESS_THREAD_SLEEP_MS) and whenever |
|
number of buffered messages exceeds the threshold (see |
|
LOG_PROCESS_TRIGGER_THR). |
|
|
|
if LOG_PROCESS_THREAD |
|
|
|
config LOG_PROCESS_THREAD_STARTUP_DELAY_MS |
|
int "Set log processing thread startup delay" |
|
default 0 |
|
help |
|
Log processing thread starts after requested delay given in |
|
milliseconds. When started, thread process any buffered messages. |
|
|
|
config LOG_PROCESS_THREAD_SLEEP_MS |
|
int "Set internal log processing thread sleep period" |
|
default 1000 |
|
help |
|
Log processing thread sleeps for requested period given in |
|
milliseconds. When waken up, thread process any buffered messages. |
|
|
|
config LOG_PROCESS_THREAD_STACK_SIZE |
|
int "Stack size for the internal log processing thread" |
|
default 4096 if (X86 && X86_64) |
|
default 4096 if ARM64 |
|
default 4096 if (ARC && 64BIT) |
|
default 4096 if SPARC |
|
default 2048 if COVERAGE_GCOV |
|
default 2048 if (RISCV && 64BIT) |
|
default 2048 if LOG_BACKEND_FS |
|
default 1152 if LOG_BACKEND_NET |
|
default 4096 if NO_OPTIMIZATIONS |
|
default 1024 if XTENSA |
|
default 2048 if ASSERT || SPIN_VALIDATE |
|
default 768 |
|
help |
|
Set the internal stack size for log processing thread. |
|
|
|
config LOG_PROCESSING_LATENCY_US |
|
int "Maximum remote message latency (in microseconds)" |
|
default 100000 |
|
depends on LOG_MULTIDOMAIN |
|
help |
|
Arbitrary time between log message creation in the remote domain and |
|
processing in the local domain. Higher value increases message processing |
|
latency but increases chances of maintaining correct ordering of the |
|
messages. Option is used only if links are using dedicated buffers |
|
for remote messages. |
|
|
|
config LOG_PROCESS_THREAD_CUSTOM_PRIORITY |
|
bool "Custom log thread priority" |
|
help |
|
Set a custom value for the log processing thread. |
|
|
|
config LOG_PROCESS_THREAD_PRIORITY |
|
int "Priority of the log processing thread" |
|
default 0 |
|
depends on LOG_PROCESS_THREAD_CUSTOM_PRIORITY |
|
help |
|
The priority of the log processing thread. |
|
When not set the priority is set to K_LOWEST_APPLICATION_THREAD_PRIO. |
|
|
|
endif # LOG_PROCESS_THREAD |
|
|
|
config LOG_BUFFER_SIZE |
|
int "Number of bytes dedicated for the logger internal buffer" |
|
default 1024 |
|
range 128 1048576 |
|
help |
|
Number of bytes dedicated for the logger internal buffer. |
|
|
|
endif # LOG_MODE_DEFERRED && !LOG_FRONTEND_ONLY |
|
|
|
if LOG_MULTIDOMAIN |
|
|
|
config LOG_DOMAIN_NAME_CACHE_ENTRY_SIZE |
|
int "Cache slot size of domain name" |
|
default 8 |
|
|
|
config LOG_DOMAIN_NAME_CACHE_ENTRY_COUNT |
|
int "Number of entries in domain name cache" |
|
default 2 |
|
|
|
config LOG_SOURCE_NAME_CACHE_ENTRY_SIZE |
|
int "Cache slot size of source name" |
|
default 16 |
|
|
|
config LOG_SOURCE_NAME_CACHE_ENTRY_COUNT |
|
int "Number of entries in source name cache" |
|
default 8 |
|
|
|
endif # LOG_MULTIDOMAIN |
|
|
|
config LOG_TRACE_SHORT_TIMESTAMP |
|
bool "Use 24 bit timestamp for tracing" |
|
default y |
|
help |
|
When enabled, shorter timestamp is used and trace message is |
|
compressed. |
|
|
|
config LOG_TIMESTAMP_64BIT |
|
bool "Use 64 bit timestamp" |
|
|
|
config LOG_TIMESTAMP_USE_REALTIME |
|
bool "Use real time clock for timestamp" |
|
select LOG_TIMESTAMP_64BIT |
|
help |
|
When enabled, real time clock is used for timestamping. |
|
|
|
config LOG_SPEED |
|
bool "Prefer performance over size" |
|
depends on LOG_MODE_DEFERRED |
|
depends on !LOG_FRONTEND |
|
help |
|
If enabled, logging may take more code size to get faster logging. |
|
|
|
endif # !LOG_MODE_MINIMAL |
|
|
|
endmenu
|
|
|