BABELTRACE2-SINK.(7)

πŸ“¦
version 2.1.2 Β· 6 versions
, in fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, ubuntu resolute, ubuntu stonking

πŸ’– 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:

  1. Timing information (cycles and nanoseconds since origin).

Example:

[102,423,274,041,829 cycles, 1,441,852,841,550,867,846 ns from origin]
  1. 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}
  1. 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] β€” If VAL is 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] β€” If VAL is false, then don't print metadata blocks.

Default: true.

  • with-stream-class-name=VAL [optional boolean] β€” If VAL is false, then don't print stream class names.

Default: true.

  • with-stream-class-namespace=VAL [optional boolean] β€” If VAL is false, then don't print stream class namespaces.

Default: true.

  • with-stream-name=VAL [optional boolean] β€” If VAL is false, then don't print stream names.

Default: true.

  • with-time=VAL [optional boolean] β€” If VAL is false, then don't print timing information.

Default: true.

  • with-trace-name=VAL [optional boolean] β€” If VAL is false, then don't print trace names.

Default: true.

  • with-uid=VAL [optional boolean] β€” If VAL is false, then don't print unique IDs (UIDs).

Default: true.

  • with-uuid=VAL [optional boolean] β€” If VAL is 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 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. Safety first, bestie. πŸ›‘οΈ
  • BABELTRACE_TERM_COLOR=(AUTO | NEVER | ALWAYS) β€” Force the terminal color support for the babeltrace2(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 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). ✨

😭 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/>).


πŸ‘‘ 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>.


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