blob: 0c64b7e04671835d6983faef47ba232be8ece32b [file] [log] [blame] [view] [edit]
# TRACEBOX(1)
## NAME
tracebox - all-in-one binary for Perfetto tracing services
## DESCRIPTION
`tracebox` is a bundle containing all the tracing services (`traced`,
`traced_probes`) and the `perfetto` commandline client in one binary.
It can be used either to spawn manually the various subprocess or in "autostart"
mode, which will take care of starting and tearing down the services for you.
## AUTOSTART MODE
If no applet name is specified, `tracebox` will behave like the `perfetto`
command, but will also start `traced` and `traced_probes`.
See [perfetto(1)](perfetto-cli.md) for the documentation of the commandline client.
### Autostart Mode Usage
The autostart mode supports both simple and normal modes of `perfetto`'s
operation, and additionally provides a `--system-sockets` flag.
The general syntax for using `tracebox` in *autostart mode* is as follows:
```
tracebox [PERFETTO_OPTIONS] [TRACEBOX_OPTIONS] [EVENT_SPECIFIERS]
```
`--system-sockets`
: Forces the use of system-sockets when using autostart mode.
By default, `tracebox` uses a private socket namespace to avoid
conflicts with system-wide `traced` daemons. This flag forces it to
use the standard system sockets, which is useful for debugging
interactions with the system `traced` service.
#### Simple Mode Example
To capture a 10-second trace of `sched/sched_switch` events in autostart mode:
```bash
tracebox -t 10s -o trace_file.perfetto-trace sched/sched_switch
```
#### Normal Mode Example
To capture a trace using a custom configuration file in autostart mode:
```bash
cat <<EOF > config.pbtx
duration_ms: 5000
buffers {
size_kb: 1024
fill_policy: RING_BUFFER
}
data_sources {
config {
name: "linux.ftrace"
ftrace_config {
ftrace_events: "sched/sched_switch"
}
}
}
EOF
tracebox -c config.pbtx --txt -o custom_trace.perfetto-trace
```
## MANUAL MODE
`tracebox` can be used to invoke the bundled applets.
The general syntax for using `tracebox` in *manual mode* is as follows:
```
tracebox [applet_name] [args ...]
```
The following applets are available:
`traced`
: The Perfetto tracing service daemon.
`traced_probes`
: Probes for system-wide tracing (ftrace, /proc pollers).
`traced_perf`
: Perf-based CPU profiling data source.
`perfetto`
: The commandline client for controlling tracing sessions.
`trigger_perfetto`
: A utility to activate triggers for a tracing session.
`websocket_bridge`
: A bridge for connecting to the tracing service via websockets.