1**-c**, **--cpus** *cpu-list* 2 3 Set the |tool| tracer to run the sample threads in the cpu-list. 4 5 By default, the |tool| tracer runs the sample threads on all CPUs. 6 7**-H**, **--house-keeping** *cpu-list* 8 9 Run rtla control threads only on the given cpu-list. 10 11 If omitted, rtla will attempt to auto-migrate its main thread to any CPU that is not running any workload threads. 12 13**-d**, **--duration** *time[s|m|h|d]* 14 15 Set the duration of the session. 16 17**-D**, **--debug** 18 19 Print debug info. 20 21**-e**, **--event** *sys:event* 22 23 Enable an event in the trace (**-t**) session. The argument can be a specific event, e.g., **-e** *sched:sched_switch*, or all events of a system group, e.g., **-e** *sched*. Multiple **-e** are allowed. It is only active when **-t** or **-a** are set. 24 25 This option cannot be unset. 26 27**--filter** *<filter>* 28 29 Filter the previous **-e** *sys:event* event with *<filter>*. For further information about event filtering see https://www.kernel.org/doc/html/latest/trace/events.html#event-filtering. 30 31 This option cannot be unset. 32 33**--trigger** *<trigger>* 34 Enable a trace event trigger to the previous **-e** *sys:event*. 35 If the *hist:* trigger is activated, the output histogram will be automatically saved to a file named *system_event_hist.txt*. 36 For example, the command: 37 38 rtla <command> <mode> -t -e osnoise:irq_noise --trigger="hist:key=desc,duration/1000:sort=desc,duration/1000:vals=hitcount" 39 40 Will automatically save the content of the histogram associated to *osnoise:irq_noise* event in *osnoise_irq_noise_hist.txt*. 41 42 For further information about event trigger see https://www.kernel.org/doc/html/latest/trace/events.html#event-triggers. 43 44 This option cannot be unset. 45 46**-P**, **--priority** *o:prio|r:prio|f:prio|d:runtime:period* 47 48 Set scheduling parameters to the |tool| tracer threads, the format to set the priority are: 49 50 - *o:prio* - use SCHED_OTHER with *prio*; 51 - *r:prio* - use SCHED_RR with *prio*; 52 - *f:prio* - use SCHED_FIFO with *prio*; 53 - *d:runtime[us|ms|s]:period[us|ms|s]* - use SCHED_DEADLINE with *runtime* and *period* in nanoseconds. 54 55 If not set, tracer threads keep their default priority. For rtla user threads, it is set to SCHED_FIFO with priority 95. For kernel threads, see *osnoise* and *timerlat* tracer documentation for the running kernel version. 56 57**-C**, **--cgroup** \[*cgroup*] 58 59 Set a *cgroup* to the tracer's threads. If the **-C** option is passed without arguments, the tracer's thread will inherit **rtla**'s *cgroup*. Otherwise, the threads will be placed on the *cgroup* passed to the option. 60 61 If not set, the behavior differs between workload types. User workloads created by rtla will inherit rtla's cgroup. Kernel workloads are assigned the root cgroup. 62 63**--warm-up** *s* 64 65 After starting the workload, let it run for *s* seconds before starting collecting the data, allowing the system to warm-up. Statistical data generated during warm-up is discarded. 66 67**--trace-buffer-size** *kB* 68 Set the per-cpu trace buffer size in kB for the tracing output. 69 70 If not set, the default tracefs buffer size is used. 71 72**--on-threshold** *action* 73 74 Defines an action to be executed when tracing is stopped on a latency threshold 75 specified by |threshold|. 76 77 Multiple --on-threshold actions may be specified, and they will be executed in 78 the order they are provided. If any action fails, subsequent actions in the list 79 will not be executed. 80 81 Supported actions are: 82 83 - *trace[,file=<filename>]* 84 85 Saves trace output, optionally taking a filename. Alternative to -t/--trace. 86 Note that unlike -t/--trace, specifying this multiple times will result in 87 the trace being saved multiple times, and --no-trace will not disable trace 88 output when enabled through this option. 89 90 - *signal,num=<sig>,pid=<pid>* 91 92 Sends signal to process. "parent" might be specified in place of pid to target 93 the parent process of rtla. 94 95 - *shell,command=<command>* 96 97 Execute shell command. 98 99 - *continue* 100 101 Continue tracing after actions are executed instead of stopping. 102 103 Example: 104 105 $ rtla |tool| |thresharg| 20 --on-threshold trace 106 --on-threshold shell,command="grep ipi_send |tracer|\_trace.txt" 107 --on-threshold signal,num=2,pid=parent 108 109 This will save a trace with the default filename "|tracer|\_trace.txt", print its 110 lines that contain the text "ipi_send" on standard output, and send signal 2 111 (SIGINT) to the parent process. 112 113 Performance Considerations: 114 115 |actionsperf| 116 117 This option cannot be unset. 118 119**--on-end** *action* 120 121 Defines an action to be executed at the end of tracing. 122 123 Multiple --on-end actions can be specified, and they will be executed in the order 124 they are provided. If any action fails, subsequent actions in the list will not be 125 executed. 126 127 See the documentation for **--on-threshold** for the list of supported actions, with 128 the exception that *continue* has no effect. 129 130 Example: 131 132 $ rtla |tool| -d 5s --on-end trace 133 134 This runs rtla with the default options, and saves trace output at the end. 135 136 This option cannot be unset. 137 138**-h**, **--help** 139 140 Print help menu. 141