| 1 | --- |
| 2 | id: channel-buffering-schemes |
| 3 | --- |
| 4 | |
| 5 | In the user space tracing domain, two **buffering schemes** are |
| 6 | available when creating a channel: |
| 7 | |
| 8 | * **Per-PID buffering**: keep one ring buffer per process. |
| 9 | * **Per-UID buffering**: keep one ring buffer for all processes of |
| 10 | a single user. |
| 11 | |
| 12 | The per-PID buffering scheme consumes more memory than the per-UID |
| 13 | option if more than one process is instrumented for LTTng-UST. However, |
| 14 | per-PID buffering ensures that one process having a high event |
| 15 | throughput won't fill all the shared sub-buffers, only its own. |
| 16 | |
| 17 | The Linux kernel tracing domain only has one available buffering scheme |
| 18 | which is to use a single ring buffer for the whole system. |