BABELTRACE2-SINK.(7)
π babeltrace2-sink.text.details β the Babeltrace 2 manual, but make it a group chat π
okay bestie, so this is a page from the Babeltrace 2 manual β the page id is BABELTRACE2-SINK.(7), and today's main character is the sink component class that prints everything. Every detail. No secrets. Periodt. β¨
πΈ NAME πΈ
babeltrace2-sink.text.details β the Babeltrace 2 detailed plain text sink component class. It's giving "tell me everything, and tell me the same way every single time." π
π¦ DESCRIPTION π¦
A sink.text.details component deterministically prints the messages it consumes β with all the possible details β straight to the standard output. Like, every last crumb. π
+-------------------+
| sink.text.details |
| +--> Detailed messages to the
Messages -->@ in | standard output
+-------------------+
If you wanna learn more about the Babeltrace 2 project and its core concepts, go peek at babeltrace2-intro(7). π«Ά
The whole purpose of a sink.text.details component is that it always prints the same text for the same sequence of consumed messages, no matter what the build configuration of the Babeltrace 2 project is. Which is lowkey iconic for testing, debugging, and support. π
The output format is optimized for human reading, and it comes with colors when the terminal supports it. You can control how the component prints color codes with the color parameter. π
To get that reproducible output, a sink.text.details component sorts the members of all unordered sets before it prints them. For example, it sorts enumeration field class mappings by label, and for each mapping it sorts the contained ranges. Organized queen behavior, honestly. π
In normal mode, each message has at least three lines, the first three being:
- Timing information (cycles and nanoseconds since origin).
Example:
[102,423,274,041,829 cycles, 1,441,852,841,550,867,846 ns from origin]
- Unique stream identifier.
To be able to follow a specific trace object (the name and UUID properties of a trace object are optional, btw), the component assigns a unique numeric ID to the trace object when it first encounters it in a stream beginning message.
Example:
{Trace 1, Stream class ID 0, Stream ID 2}
- Message type and basic information.
Examples:
Packet beginning:
Packet beginning:
Event lttng_ust_statedump:build_id (Class ID 2):
Event `lttng_ust_statedump:build_id` (Class ID 2):
What follows depends on the specific message type. The component prints all the available properties and fields in a human-readable, structured format. No gatekeeping. π
When a sink.text.details component consumes a stream beginning or an event message, it can print a metadata block for all the metadata objects which it did not print yet. You can use the with-metadata parameter to disable this. π
You can hide specific properties with the with-stream-class-name, with-stream-class-namespace, with-stream-name, with-time, with-trace-name, with-uid, and with-uuid parameters. Choose your own adventure, bestie.
And if you want the component to hide many message details and print a single message per line, you can enable compact mode with the compact parameter. π§
β¨ INITIALIZATION PARAMETERS β¨
color=(never | auto | always)[optional string] β Force the terminal color support. Pick one of:auto(default) β 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.
The BABELTRACE_TERM_COLOR environment variable overrides this parameter. π
compact=VAL[optional boolean] β IfVALis true, then enable compact mode.
In compact mode, the component prints one line per message, omitting many details about messages. This is useful if you only need the time, type, and very basic information of messages.
In compact mode, the component still prints the full metadata blocks. You can remove such blocks with the with-metadata parameter.
Default: false.
with-metadata=VAL[optional boolean] β IfVALis false, then don't print metadata blocks.
Default: true.
with-stream-class-name=VAL[optional boolean] β IfVALis false, then don't print stream class names.
Default: true.
with-stream-class-namespace=VAL[optional boolean] β IfVALis false, then don't print stream class namespaces.
Default: true.
with-stream-name=VAL[optional boolean] β IfVALis false, then don't print stream names.
Default: true.
with-time=VAL[optional boolean] β IfVALis false, then don't print timing information.
Default: true.
with-trace-name=VAL[optional boolean] β IfVALis false, then don't print trace names.
Default: true.
with-uid=VAL[optional boolean] β IfVALis false, then don't print unique IDs (UIDs).
Default: true.
with-uuid=VAL[optional boolean] β IfVALis false, then don't print UUIDs.
Default: true.
π PORTS π
+-------------------+
| sink.text.details |
| |
@ in |
+-------------------+
Input π
inβ Single input port.
π ENVIRONMENT VARIABLES π
BABELTRACE_EXEC_ON_ABORT=CMDLINEβ Execute the command lineCMDLINE, 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 thesetuidor thesetgidaccess right flag set. Safety first, bestie. π‘οΈ
BABELTRACE_TERM_COLOR=(AUTO | NEVER | ALWAYS)β Force the terminal color support for thebabeltrace2(1)program and the project plugins.
The available values are:
AUTOβ 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.
BABELTRACE_TERM_COLOR_BRIGHT_MEANS_BOLD=0β Set to0to emit SGR (see <https://en.wikipedia.org/wiki/ANSI_escape_code>) codes90to97for bright colors instead of bold (SGR code1) and standard color codes (SGR codes30to37). β¨
π BUGS π
If you encounter any issue or usability problem, please report it on the Babeltrace bug tracker (see <https://bugs.lttng.org/projects/babeltrace>). Fr fr, they wanna know. π«Ά
π 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:
lttng-dev@lists.lttng.org - IRC channel (see <irc://irc.oftc.net/lttng>):
#lttngonirc.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. Respectfully, they ate. π₯
The current project maintainer is JΓ©rΓ©mie Galarneau <mailto:jeremie.galarneau@efficios.com>.
π COPYRIGHT π
This component class is part of the Babeltrace 2 project.
Babeltrace is distributed under the MIT license (see <https://opensource.org/licenses/MIT>).
β SEE ALSO β
babeltrace2-intro(7), babeltrace2-plugin-text(7)
and that's the whole page, bestie π this was Babeltrace 2.1.2, dated 15 January 2025 β mwah, slay, go print some details. πΈπβ¨
π¦ where this page comes from
- fedora 43: babeltrace2 2.1.2-3.fc43 Β· MIT AND GPL-2.0-only
- fedora 44: babeltrace2 2.1.2-5.fc44 Β· MIT AND GPL-2.0-only
- nixos 26.05: babeltrace2 2.1.2
- nixpkgs unstable: babeltrace2 2.1.2
- ubuntu resolute: babeltrace2 2.1.2-1build2 Β· MIT
- ubuntu stonking: babeltrace2 2.1.2-1build2 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms