---
name: "babeltrace2-sink.text.details"
section: "7"
platform: "linux"
package: "babeltrace2"
version: "2.1.1-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/babeltrace2-sink.text.details"
---

# babeltrace2-sink.text.details(7)

Babeltrace 2: Detailed plain text sink component class

## NAME

babeltrace2-sink.text.details - Babeltrace 2: Detailed plain text sink component class

## DESCRIPTION

A Babeltrace 2 **sink.text.details** component deterministically prints the messages it consumes, with all the possible details, to the standard output.

```
            +-------------------+
            | sink.text.details |
            |                   +--> Detailed messages to the
Messages -->@ in                |    standard output
            +-------------------+
```

See [**babeltrace2-intro**(7)](/babeltrace2-intro/7.md) to learn more about the Babeltrace 2 project and its core concepts.

The purpose of a **sink.text.details** component is to always print the same text for the same sequence of consumed messages, whatever the build configuration of the Babeltrace 2 project. This can be helpful for testing, debugging, and support.

The output format is optimized for human reading, with colors when the terminal supports it. You can control how the component prints color codes with the **color** parameter.

To achieve a reproducible output, a **sink.text.details** component sorts the members of all unordered sets before it prints them. For example, the component sorts enumeration field class mappings by label and, for each mapping, sorts the contained ranges.

In normal mode, each message has at least three lines, the three first 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]
```

 2\. Unique stream identifier.

To be able to follow a specific trace object (the name and UUID properties of a trace object are optional), 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}
```

 3\. Message type and basic information.

Examples:

```
Packet beginning:
```

```
Event `lttng_ust_statedump:build_id` (Class ID 2):
```

What follows depend on the specific message type. The component prints all the available properties and fields in a human-readable, structured format.

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.

To make the component hide many message details and print a single message per line, you can enable the compact mode with the **compact** parameter.

## INITIALIZATION PARAMETERS

**color**=(**never** \| **auto** \| **always**) \[optional string\]

Force the terminal color support, 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.

**BABELTRACE\_TERM\_COLOR**=(**AUTO** \| **NEVER** \| **ALWAYS**)

Force the terminal color support for the [**babeltrace2**(1)](/babeltrace2/1.md) 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\>).

## 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\>): **#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.

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-intro/7.md), [**babeltrace2-plugin-text**(7)](/babeltrace2-plugin-text/7.md)
