NAME
babeltrace2-run - Create a Babeltrace 2 trace processing graph and run itSYNOPSIS
babeltrace2 [GENERAL OPTIONS] run [--retry-duration=TIME-US] --connect=CONN-RULE... COMPONENTS
DESCRIPTION
The run command creates a Babeltrace 2 trace processing graph and runs it. 1.Specify which component classes to
instantiate as components with many --component options and how to
configure them.
This is the COMPONENTS part of the synopsis. See “Create
components” to learn more.
2.Specify how to connect components together
with one or more --connect options.
See “Connect components” to learn more.
Create components
To create a component, use the --component option. This option specifies:•The name of the component, unique
amongst all the component names of the trace processing graph.
•The type of the component class to
instantiate: source, filter, or sink.
•The name of the plugin in which to
find the component class to instantiate.
•The name of the component class to
instantiate.
Connect components
The components which you create from component classes with the --component option (see “Create components”) add input and output ports depending on their type. An output port is from where messages, like trace events, are sent. An input port is where messages are received. For a given component, each port has a unique name.UP-COMP-PAT[.UP-PORT-PAT]:DOWN-COMP-PAT[.DOWN-PORT-PAT]
Upstream component name pattern.
UP-PORT-PAT
Upstream (output) port name pattern.
DOWN-COMP-PAT
Downstream component name pattern.
DOWN-PORT-PAT
Downstream (input) port name pattern.
For each connection rule (--connect options, in order): If the output port's component's name matches UP-COMP-PAT and the output port's name matches UP-PORT-PAT: For each component COMP in the trace processing graph: If the name of COMP matches DOWN-COMP-PAT: Select the first input port of COMP of which the name matches DOWN-PORT-PAT, or fail with no match. No possible connection: fail with no match.
--connect='A.out*:B.in*' --connect=A:B --connect='*:C'
•Any output port of which the name
starts with out of component A to the first input port of which
the name starts with in of component B.
•Any other output port of component
A to the first available input port of component B.
•Any other output port (of any
component except A) to the first available input port of component
C.
OPTIONS
General
You can use those options before the command name.Legacy option: this is equivalent to
--log-level= TRACE.
-l LVL, --log-level=LVL
Set the log level of all known
Babeltrace 2 loggers to LVL.
--omit-home-plugin-path
Do not search for plugins in
$HOME/.local/lib/babeltrace2/plugins.
--omit-system-plugin-path
Do not search for plugins in
/usr/lib/babeltrace2/plugins.
--plugin-path=PATH[:PATH]...
Add PATH to the list of paths in which
plugins can be found.
-v, --verbose
Legacy option: this is equivalent to
--log-level= INFO.
Component creation
See “Create components” for more details. -b PARAMS, --base-params=PARAMSSet the current base parameters to
PARAMS.
You can reset the current base parameters with the --reset-base-params
option.
See the --params option for the format of PARAMS.
-c
NAME:COMP-CLS-TYPE.PLUGIN-NAME.COMP-CLS-NAME,
--component=
NAME:COMP-CLS-TYPE.PLUGIN-NAME.COMP-CLS-NAME
Create a component named NAME from the
component class of type COMP-CLS-TYPE named COMP-CLS-NAME found
in the plugin named PLUGIN-NAME, and set it as the current component.
The available values for TYPE are:
source, src
The initial initialization parameters of this component are copied from the
current base initialization parameters (see the --base-params
option).
-l LVL, --log-level=LVL
Source component class.
filter, flt
Filter component class.
sink
Sink component class.
Set the log level of the current component to
LVL.
The available values for LVL are:
NONE, N
-p PARAMS, --params=PARAMS
Logging is disabled.
FATAL, F
Severe errors that lead the execution to abort
immediately.
This level should be enabled in production.
ERROR, E
Errors that might still allow the execution to
continue.
Usually, once one or more errors are reported at this level, the application,
plugin, or library won’t perform any more useful task, but it should
still exit cleanly.
This level should be enabled in production.
WARN, WARNING, W
Unexpected situations which still allow the
execution to continue.
This level should be enabled in production.
INFO, I
Informational messages that highlight progress
or important states of the application, plugins, or library.
This level can be enabled in production.
DEBUG, D
Debugging information, with a higher level of
details than the TRACE level.
This level should NOT be enabled in production.
TRACE, T
Low-level debugging context information.
This level should NOT be enabled in production.
Add PARAMS to the initialization
parameters of the current component.
If PARAMS contains a key which exists in the current component’s
initialization parameters, replace the parameter.
The format of PARAMS is a comma-separated list of
NAME=VALUE assignments:
NAME
Example:
Important
Like in the example above, make sure to single-quote the whole argument when you
run this command from a shell, as it can contain many special characters.
-r, --reset-base-params
NAME=VALUE[,NAME=VALUE]...
Parameter name (C identifier plus the
:, ., and - characters).
VALUE
One of:
You may put whitespaces around the individual = (assignment), ,
(separator), [ (array beginning), ] (array end), { (map
beginning), and } (map end) characters.
•null, nul, NULL:
null value.
•true, TRUE, yes,
YES: true boolean value.
•false, FALSE, no,
NO: false boolean value.
•Binary (0b prefix), octal (
0 prefix), decimal, or hexadecimal ( 0x prefix) unsigned (with
+ prefix) or signed 64-bit integer.
•Double precision floating point number
(scientific notation is accepted).
•Unquoted string with no special
characters, and not matching any of the null and boolean value symbols
above.
•Double-quoted string (accepts escape
characters).
•Array, formatted as an opening
[, a comma-separated list of VALUE, and a closing
].
•Map, formatted as an opening {,
a comma-separated list of NAME=VALUE assignments, and a closing
}.
--params='many=null, fresh=yes, condition=false, squirrel=-782329, play=+23, observe=3.14, simple=beef, needs-quotes="some string", escape.chars-are:allowed="a \" quote", things=[1, "hello", 2.71828], frog={slow=2, bath=[bike, 23], blind=NO}'
Reset the current base parameters.
You can set the current base parameters with the --base-params
option.
Component connection
-x CONN-RULE, --connect=CONN-RULEAdd the connection rule CONN-RULE.
The format of CONN-RULE is:
UP-COMP-PAT
See “Connect components” to learn more.
UP-COMP-PAT[.UP-PORT-PAT]:DOWN-COMP-PAT[.DOWN-PORT-PAT]
Upstream component name pattern.
UP-PORT-PAT
Upstream (output) port name pattern.
DOWN-COMP-PAT
Downstream component name pattern.
DOWN-PORT-PAT
Downstream (input) port name pattern.
Graph configuration
--retry-duration=TIME-USSet the duration of a single retry to
TIME-US µs when a sink component reports "try again
later" (busy network or file system, for example).
Default: 100000 (100 ms).
Command information
-h, --helpShow the command’s help and quit.
EXAMPLES
Example 1. Create a single-port source component and a single-port sink component and connect them.$ babeltrace2 run --component=A:src.plug.my-src \ --component=B:sink.plug.my-sink \ --connect=A:B
+-----------------+ +-------------------+ | src.plug.my-src | | sink.plug.my-sink | | [A] | | [B] | | | | | | out @--->@ in | +-----------------+ +-------------------+
$ babeltrace2 run --component=the-source:src.my-plugin.my-src \ --params=offset=123,flag=true \ --component=the-sink:sink.my-plugin.my-sink \ --connect=the-source:the-sink
offset=1203, flag=false
Component B
offset=1203, flag=true,
type=event
Component C
ratio=0.25
$ babeltrace2 run --base-params=offset=1203,flag=false \ --component=A:src.plugin.compcls \ --component=B:flt.plugin.compcls \ --params=flag=true,type=event \ --reset-base-params \ --component=C:sink.plugin.compcls \ --params=ratio=0.25 \ --connect=A:B --connect=B:C
$ babeltrace2 run --component=A:src.plug.my-src \ --component=B:sink.plug.my-sink \ --connect='A.foo*:B:nin*' --connect='A:B.oth*'
+-----------------+ +-------------------+ | src.plug.my-src | | sink.plug.my-sink | | [A] | | [B] | | | | | | foot @--->@ nine | | foodies @--->@ ninja | | some-port @--->@ othello | | hello @--->@ other | +-----------------+ +-------------------+
ENVIRONMENT VARIABLES
Babeltrace 2 library
BABELTRACE_EXEC_ON_ABORT=CMDLINEExecute the command line CMDLINE, as
parsed like a UNIX 98 shell, when any part of the Babeltrace 2
project unexpectedly aborts.
The application only aborts when the executed command returns, ignoring its exit
status.
This environment variable is ignored when the application has the setuid
or the setgid access right flag set.
BABELTRACE_TERM_COLOR=(AUTO | NEVER | ALWAYS)
Force the terminal color support for the
babeltrace2(1) program and the project’s plugins.
The available values are:
AUTO
BABELTRACE_TERM_COLOR_BRIGHT_MEANS_BOLD=0
Only emit terminal color codes when the
standard output and error streams are connected to a color-capable
terminal.
NEVER
Never emit terminal color codes.
ALWAYS
Always emit terminal color codes.
Set to 0 to emit SGR (see
<https://en.wikipedia.org/wiki/ANSI_escape_code>) codes 90 to 97 for
bright colors instead of bold (SGR code 1) and standard color codes
(SGR codes 30 to 37).
BABELTRACE_PLUGIN_PATH=PATHS
Set the list of directories, in order, in
which dynamic plugins can be found before other directories are considered to
PATHS (colon-separated, or semicolon on Windows).
LIBBABELTRACE2_DISABLE_PYTHON_PLUGINS=1
Disable the loading of any Babeltrace 2
Python plugin.
LIBBABELTRACE2_INIT_LOG_LEVEL=LVL
Force the Babeltrace 2 library’s
initial log level to be LVL.
If this environment variable is set, it overrides the log level set by the
--log-level option for the Babeltrace 2 library logger.
The available values for LVL are:
NONE, N
LIBBABELTRACE2_NO_DLCLOSE=1
Logging is disabled.
FATAL, F
Severe errors that lead the execution to abort
immediately.
This level should be enabled in production.
ERROR, E
Errors that might still allow the execution to
continue.
Usually, once one or more errors are reported at this level, the application,
plugin, or library won’t perform any more useful task, but it should
still exit cleanly.
This level should be enabled in production.
WARN, WARNING, W
Unexpected situations which still allow the
execution to continue.
This level should be enabled in production.
INFO, I
Informational messages that highlight progress
or important states of the application, plugins, or library.
This level can be enabled in production.
DEBUG, D
Debugging information, with a higher level of
details than the TRACE level.
This level should NOT be enabled in production.
TRACE, T
Low-level debugging context information.
This level should NOT be enabled in production.
Make the Babeltrace 2 library leave any
dynamically loaded modules (plugins and plugin providers) open at exit. This
can be useful for debugging purposes.
LIBBABELTRACE2_PLUGIN_PROVIDER_DIR=DIR
Set the directory from which the
Babeltrace 2 library dynamically loads plugin provider shared objects
to DIR.
If this environment variable is set, it overrides the default plugin provider
directory.
Babeltrace 2 Python bindings
BABELTRACE_PYTHON_BT2_LOG_LEVEL=LVLForce the Babeltrace 2 Python bindings
log level to be LVL.
If this environment variable is set, it overrides the log level set by the
--log-level option for the Python bindings logger.
The available values for LVL are:
NONE, N
Logging is disabled.
FATAL, F
Severe errors that lead the execution to abort
immediately.
This level should be enabled in production.
ERROR, E
Errors that might still allow the execution to
continue.
Usually, once one or more errors are reported at this level, the application,
plugin, or library won’t perform any more useful task, but it should
still exit cleanly.
This level should be enabled in production.
WARN, WARNING, W
Unexpected situations which still allow the
execution to continue.
This level should be enabled in production.
INFO, I
Informational messages that highlight progress
or important states of the application, plugins, or library.
This level can be enabled in production.
DEBUG, D
Debugging information, with a higher level of
details than the TRACE level.
This level should NOT be enabled in production.
TRACE, T
Low-level debugging context information.
This level should NOT be enabled in production.
CLI
BABELTRACE_CLI_LOG_LEVEL=LVLForce babeltrace2 CLI’s log
level to be LVL.
If this environment variable is set, it overrides the log level set by the
--log-level option for the CLI logger.
The available values for LVL are:
NONE, N
BABELTRACE_CLI_WARN_COMMAND_NAME_DIRECTORY_CLASH=0
Logging is disabled.
FATAL, F
Severe errors that lead the execution to abort
immediately.
This level should be enabled in production.
ERROR, E
Errors that might still allow the execution to
continue.
Usually, once one or more errors are reported at this level, the application,
plugin, or library won’t perform any more useful task, but it should
still exit cleanly.
This level should be enabled in production.
WARN, WARNING, W
Unexpected situations which still allow the
execution to continue.
This level should be enabled in production.
INFO, I
Informational messages that highlight progress
or important states of the application, plugins, or library.
This level can be enabled in production.
DEBUG, D
Debugging information, with a higher level of
details than the TRACE level.
This level should NOT be enabled in production.
TRACE, T
Low-level debugging context information.
This level should NOT be enabled in production.
Disable the warning message which
babeltrace2-convert(1) prints when you convert a trace with a relative
path that’s also the name of a babeltrace2 command.
BABELTRACE_DEBUG=1
Legacy variable: equivalent to setting the
--log-level option to TRACE.
BABELTRACE_VERBOSE=1
Legacy variable: equivalent to setting the
--log-level option to INFO.
FILES
$HOME/.local/lib/babeltrace2/pluginsUser plugin directory.
/usr/lib/babeltrace2/plugins
System plugin directory.
/usr/lib/babeltrace2/plugin-providers
System plugin provider directory.
EXIT STATUS
0 on success, 1 otherwise.BUGS
If you encounter any issue or usability problem, please report it on the Babeltrace bug tracker (see <https://bugs.lttng.org/projects/babeltrace>).RESOURCES
The Babeltrace project shares some communication channels with the LTTng project (see <https://lttng.org/>).•Babeltrace website (see
<https://babeltrace.org/>)
•Mailing list (see
<https://lists.lttng.org>) for support and development:
[email protected]
•IRC channel (see
<irc://irc.oftc.net/lttng>): #lttng on irc.oftc.net
•Bug tracker (see
<https://bugs.lttng.org/projects/babeltrace>)
•Git repository (see
<https://git.efficios.com/?p=babeltrace.git>)
•GitHub project (see
<https://github.com/efficios/babeltrace>)
•Continuous integration (see
<https://ci.lttng.org/view/Babeltrace/>)
•Code review (see
<https://review.lttng.org/q/project:babeltrace>)
AUTHORS
The Babeltrace 2 project is the result of hard work by many regular developers and occasional contributors.COPYRIGHT
This command is part of the Babeltrace 2 project.SEE ALSO
babeltrace2-intro(7), babeltrace2(1), babeltrace2-convert(1)14 September 2019 | Babeltrace 2.0.4 |