RTLA-OSNOISE-HIST(1) | General Commands Manual | RTLA-OSNOISE-HIST(1) |
rtla-osnoise-hist - Display a histogram of the osnoise tracer samples
rtla osnoise hist [OPTIONS]
The rtla osnoise tool is an interface for the osnoise tracer. The osnoise tracer dispatches a kernel thread per-cpu. These threads read the time in a loop while with preemption, softirq and IRQs enabled, thus allowing all the sources of operating system noise during its execution. The osnoise's tracer threads take note of the delta between each time read, along with an interference counter of all sources of interference. At the end of each period, the osnoise tracer displays a summary of the results.
The rtla osnoise hist tool collects all osnoise:sample_threshold occurrence in a histogram, displaying the results in a user-friendly way. The tool also allows many configurations of the osnoise tracer and the collection of the tracer output.
-a, --auto us
-p, --period us
-r, --runtime us
-s, --stop us
-S, --stop-total us
-T, --threshold us
-b, --bucket-size N
-E, --entries N
--no-header
--no-summary
--no-index
--with-zeros
-c, --cpus cpu-list
-d, --duration time[s|m|h|d]
-D, --debug
-t, --trace[=file]
-e, --event sys:event
--filter <filter>
rtla <command> <mode> -t -e osnoise:irq_noise --trigger="hist:key=desc,duration/1000:sort=desc,duration/1000:vals=hitcount"
Will automatically save the content of the histogram associated to osnoise:irq_noise event in osnoise_irq_noise_hist.txt.
For further information about event trigger see https://www.kernel.org/doc/html/latest/trace/events.html#event-triggers.
-P, --priority o:prio|r:prio|f:prio|d:runtime:period
-h, --help
In the example below, osnoise tracer threads are set to run with real-time priority FIFO:1, on CPUs 0-11, for 900ms at each period (1s by default). The reason for reducing the runtime is to avoid starving the rtla tool. The tool is also set to run for one minute. The output histogram is set to group outputs in buckets of 10us and 25 entries:
[root@f34 ~/]# rtla osnoise hist -P F:1 -c 0-11 -r 900000 -d 1M -b 10 -E 25 # RTLA osnoise histogram # Time unit is microseconds (us) # Duration: 0 00:01:00 Index CPU-000 CPU-001 CPU-002 CPU-003 CPU-004 CPU-005 CPU-006 CPU-007 CPU-008 CPU-009 CPU-010 CPU-011 0 42982 46287 51779 53740 52024 44817 49898 36500 50408 50128 49523 52377 10 12224 8356 2912 878 2667 10155 4573 18894 4214 4836 5708 2413 20 8 5 12 2 13 24 20 41 29 53 39 39 30 1 1 0 0 10 3 6 19 15 31 30 38 40 0 0 0 0 0 4 2 7 2 3 8 11 50 0 0 0 0 0 0 0 0 0 1 1 2 over: 0 0 0 0 0 0 0 0 0 0 0 0 count: 55215 54649 54703 54620 54714 55003 54499 55461 54668 55052 55309 54880 min: 0 0 0 0 0 0 0 0 0 0 0 0 avg: 0 0 0 0 0 0 0 0 0 0 0 0 max: 30 30 20 20 30 40 40 40 40 50 50 50
rtla-osnoise(1), rtla-osnoise-top(1)
osnoise tracer documentation: <https://www.kernel.org/doc/html/latest/trace/osnoise-tracer.html>
Written by Daniel Bristot de Oliveira <bristot@kernel.org>
Report bugs to <linux-kernel@vger.kernel.org> and <linux-trace-devel@vger.kernel.org>
rtla is Free Software licensed under the GNU GPLv2
Copyright (C) 2021 Red Hat, Inc. Free use of this software is granted under the terms of the GNU Public License (GPL).