a7725aef0e
Sample tries to estimate maximum number of messages that can be logged. It was using two system cycles and counting number of messages logged in that window. It did not take into account the fact that clock frequency may vary and logging speed also varies (especially if LOG_IMMEDIATE is enabled). Presented results may be faulty and misleading. Fix is attempting to adjust window size to increase precision of the measurement. Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no> |
||
---|---|---|
.. | ||
src | ||
CMakeLists.txt | ||
Kconfig | ||
prj.conf | ||
README.rst | ||
sample.yaml |
.. _logger_sample: Logging ########### Overview ******** A simple application that demonstrates use of logging subsystem. It demonstrates main features: severity levels, timestamping, module level filtering and instance level filtering. It also showcases logging capabilities in terms of performance. Building and Running ******************** This project outputs multiple log message to the console. It can be built and executed on QEMU as follows: .. zephyr-app-commands:: :zephyr-app: samples/subsys/logging/logger :host-os: unix :board: qemu_x86 :goals: run :compact: Sample Output ============= .. code-block:: console Module logging showcase. [00:00:00.106,051] <inf> sample_module: log in test_module 11 [00:00:00.106,054] <inf> sample_module: Inline function. Disabling logging in the sample_module module Function called again but with logging disabled. Instance level logging showcase. [00:00:00.106,200] <inf> sample_instance.inst1: Inline call. [00:00:00.106,204] <inf> sample_instance.inst1: counter_value: 0 [00:00:00.106,209] <wrn> sample_instance.inst1: Example of hexdump: 01 02 03 04 |.... [00:00:00.106,214] <inf> sample_instance.inst2: Inline call. [00:00:00.106,218] <inf> sample_instance.inst2: counter_value: 0 [00:00:00.106,223] <wrn> sample_instance.inst2: Example of hexdump: 01 02 03 04 |.... Changing filter to warning on sample_instance.inst1 instance. [00:00:00.106,297] <wrn> sample_instance.inst1: Example of hexdump: 01 02 03 04 |.... [00:00:00.106,302] <inf> sample_instance.inst2: Inline call. [00:00:00.106,307] <inf> sample_instance.inst2: counter_value: 1 [00:00:00.106,311] <wrn> sample_instance.inst2: Example of hexdump: 01 02 03 04 |.... Disabling logging on both instances. Function call on both instances with logging disabled. String logging showcase. [00:00:01.122,316] <inf> main: Logging transient string:transient_string Severity levels showcase. [00:00:01.122,348] <err> main: Error message example. [00:00:01.122,352] <wrn> main: Warning message example. [00:00:01.122,355] <inf> main: Info message example. Logging performance showcase. [00:00:02.151,602] <inf> main: performance test - log message 0 Estimated logging capabilities: 42000000 messages/second Logs from external logging system showcase. [00:00:03.165,977] <err> ext_log_system: critical level log [00:00:03.165,991] <err> ext_log_system: error level log, 1 arguments: 1 [00:00:03.166,006] <wrn> ext_log_system: warning level log, 2 arguments: 12 [00:00:03.166,025] <inf> ext_log_system: notice level log, 3 arguments: 105 [00:00:03.166,044] <inf> ext_log_system: info level log, 4 arguments : 1 24 Exit QEMU by pressing :kbd:`CTRL+A` :kbd:`x`.