Initial import
[lttng-docs.git] / contents / understanding-lttng / plumbing / lttng-consumerd.md
1 ---
2 id: lttng-consumerd
3 ---
4
5 The _consumer daemon_, or `lttng-consumerd`, is a program sharing some
6 ring buffers with user applications or the LTTng kernel modules to
7 collect trace data and output it at some place (on disk or sent over
8 the network to an LTTng relay daemon).
9
10 Consumer daemons are created by a session daemon as soon as events are
11 enabled within a tracing session, well before tracing is activated
12 for the latter. Entirely managed by session daemons,
13 consumer daemons survive session destruction to be reused later,
14 should a new tracing session be created. Consumer daemons are always
15 owned by the same user as their session daemon. When its owner session
16 daemon is killed, the consumer daemon also exits. This is because
17 the consumer daemon is always the child process of a session daemon.
18 Consumer daemons should never be started manually. For this reason,
19 they are not installed in one of the usual locations listed in the
20 `PATH` environment variable. `lttng-sessiond` has, however, a
21 <a href="/man/8/lttng-sessiond" class="ext">bunch of options</a> to
22 specify custom consumer daemon paths if, for some reason, a consumer
23 daemon other than the default installed one is needed.
24
25 There are up to two running consumer daemons per user, whereas only one
26 session daemon may run per user. This is because each process has
27 independent bitness: if the target system runs a mixture of 32-bit and
28 64-bit processes, it is more efficient to have separate corresponding
29 32-bit and 64-bit consumer daemons. The `root` user is an exception: it
30 may have up to _three_ running consumer daemons: 32-bit and 64-bit
31 instances for its user space applications and one more reserved for
32 collecting kernel trace data.
33
34 As new tracing domains are added to LTTng, the development community's
35 intent is to minimize the need for additionnal consumer daemon instances
36 dedicated to them. For instance, the Java Util Logging (JUL) domain
37 events are in fact mapped to the user space domain, thus tracing this
38 particular domain is handled by existing user space domain consumer
39 daemons.
This page took 0.031238 seconds and 4 git commands to generate.