* `--set-subbuf-num` <CHANNEL>:
Set the number of subbuffers per buffer for CHANNEL. Must be a power of 2.
+ * `--set-sock-path`:
+ Set the path of the daemon socket.
+
* `--get-subbuf-size` <CHANNEL>:
Print the size of subbuffers per buffer for CHANNEL.
* `--get-subbuf-num` <CHANNEL>:
Print the number of subbuffers per buffer for CHANNEL.
+ * `--get-sock-path`:
+ Get the path of the daemon socket.
+
* `--enable-marker` <CHANNEL>/<MARKER>:
Enable a marker.
* `--list-markers`:
List the markers of the process, their state and format string.
+ * `--force-switch`:
+ Force a subbuffer switch. This will flush all the data currently held.
+
## LIFE CYCLE OF A TRACE
Typically, the first step is to enable markers with `--enable-marker`. An
The trace may be stopped with `--stop-trace`, either definitely after all the
wanted information is collected, or temporarily, before being started again
-with `--start-trace`. This results in effectively "pausing" the recording.
+with `--start-trace`. This results in effectively 'pausing' the recording.
+After using `--stop-trace`, if a daemon is collecting the trace, it may not
+have flushed to the disk the full contents of the buffer yet.
Finally, when `--destroy-trace` is used, the trace buffers are unallocated.
However, the memory may not be effectively freed until the daemon finishes to
-collect them.
+collect them. When the trace is being collected by `ustd`, this command
+guarantees its full contents is flushed to the disk.
## STRUCTURE OF A TRACE