LTTNG-ADD-CONTEXT(1) | LTTng Manual | LTTNG-ADD-CONTEXT(1) |
lttng-add-context - Add context fields to an LTTng channel
Add context fields to a channel:
lttng [GENERAL OPTIONS] add-context
(--kernel | --userspace | --jul | --log4j)
[--session=SESSION] [--channel=CHANNEL]
--type=TYPE [--type=TYPE]...
List the available context fields:
lttng [GENERAL OPTIONS] add-context --list
The lttng add-context command adds one or more context fields to a channel.
Channels are created with the lttng-enable-channel(1) command.
When context fields are added to a channel, all the events emitted within this channel contain the dynamic values of those context fields.
If the --session option is omitted, the current tracing session is used. If the --channel option is omitted, the context fields are added to all the selected tracing session’s channels.
Many context fields can be added to a channel at once by repeating the --type option.
perf counters are available as per-CPU (perf:cpu: prefix) as well as per-thread (perf:thread: prefix) counters. Currently, per-CPU counters can only be used in the Linux kernel tracing domain, while per-thread counters can only be used in the user space tracing domain.
It is also possible to enable PMU counters by raw ID using the perf:cpu:raw:rN:NAME (Linux kernel tracing domain) or perf:thread:raw:rN:NAME (user space tracing domain), with:
N
NAME
Application-specific context fields can be added to a channel using the following syntax:
$app.PROVIDER:TYPE
with:
PROVIDER
TYPE
Make sure to single-quote the type when running the command from a shell, as $ is a special character for variable substitution in most shells.
Use the --list option without other arguments to list the available context field names.
See the LIMITATIONS section below for a list of limitations to consider.
General options are described in lttng(1).
One of:
-j, --jul
-k, --kernel
-l, --log4j
-u, --userspace
-c CHANNEL, --channel=CHANNEL
-s SESSION, --session=SESSION
--list
-t TYPE, --type=TYPE
-h, --help
This option, like lttng-help(1), attempts to launch /usr/bin/man to view the command’s man page. The path to the man pager can be overridden by the LTTNG_MAN_BIN_PATH environment variable.
--list-options
As of this version of LTTng, it is not possible to add context fields to a channel once its tracing session has been started (see lttng-start(1)) at least once.
LTTNG_ABORT_ON_ERROR
LTTNG_HOME
LTTNG_MAN_BIN_PATH
LTTNG_SESSION_CONFIG_XSD_PATH
LTTNG_SESSIOND_PATH
The --sessiond-path option has precedence over this environment variable.
Note that the lttng-create(1) command can spawn an LTTng session daemon automatically if none is running. See lttng-sessiond(8) for the environment variables influencing the execution of the session daemon.
$LTTNG_HOME/.lttngrc
This is where the per-user current tracing session is stored between executions of lttng(1). The current tracing session can be set with lttng-set-session(1). See lttng-create(1) for more information about tracing sessions.
$LTTNG_HOME/lttng-traces
$LTTNG_HOME/.lttng
$LTTNG_HOME/.lttng/sessions
/etc/lttng/sessions
$LTTNG_HOME defaults to $HOME when not explicitly set.
0
1
2
3
4
If you encounter any issue or usability problem, please report it on the LTTng bug tracker <https://bugs.lttng.org/projects/lttng-tools>.
This program is part of the LTTng-tools project.
LTTng-tools is distributed under the GNU General Public License version 2 <http://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html>. See the LICENSE <https://github.com/lttng/lttng-tools/blob/master/LICENSE> file for details.
Special thanks to Michel Dagenais and the DORSAL laboratory <http://www.dorsal.polymtl.ca/> at École Polytechnique de Montréal for the LTTng journey.
Also thanks to the Ericsson teams working on tracing which helped us greatly with detailed bug reports and unusual test cases.
5 Februrary 2018 | LTTng 2.12.3 |