BABELTRACE2-FILTER.UTILS.MUXER(7)

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

πŸ’– NAME πŸ’–

babeltrace2-filter.utils.muxer β€” a Babeltrace 2 message muxer filter component class, and she is that girl. This page lives in the BABELTRACE2-FILTER manual section, bestie πŸŽ€


✨ DESCRIPTION ✨

Okay so picture this: a Babeltrace 2 filter.utils.muxer message iterator takes all the messages it consumes from one or more upstream message iterators and muxes them into one single linear sequence of messages ordered by time. Sorted. Lined up. Organized. Main character behavior honestly 🫢

                +-----------------+
                | flt.utils.muxer |
                |                 |
    Messages -->@ in0         out @--> Sorted messages
    Messages -->@ in1             |
    Messages -->@ in2             |
                @ in3             |
                +-----------------+

Go read babeltrace2-intro(7) if you wanna learn more about the Babeltrace 2 project and all its core concepts, iykyk πŸ’…

Here's the thing: a filter.utils.muxer message iterator doesn't alter the messages it consumes β€” it only sorts them. Not a glow-up, just a lineup. Periodt.

The message iterator creates one upstream message iterator per connected input port. One per port. No sharing, no drama.

Note 🚨 To support muxing messages with different default clock classes, the message iterator converts the message times to nanoseconds from the common origin (Unix epoch, for example). Which means the resulting message sequence could be incorrect if one or more clock classes have a frequency which is greater than 1 GHz. So like… be careful with that one, fr fr 😭

πŸŽ€ PORTS πŸŽ€

    +-----------------+
    | flt.utils.muxer |
    |                 |
    @ in0         out @
    @ ...             |
    +-----------------+

🌸 Input

  • inN, where N is a decimal integer starting at 0 β€” input port on which a filter.utils.muxer message iterator creates an upstream message iterator to consume messages from. πŸ¦‹ When the component is initialized, its only input port is in0. When you connect the in0 port, the component creates the in1 input port, and so on. So a filter.utils.muxer component always has an available input port β€” it literally never runs out, she's prepared πŸ’…βœ¨

πŸ’œ Output

  • out β€” a single output port. Just one. The one and only. πŸ‘‘

πŸ’€ BUGS πŸ’€

If you encounter any issue or usability problem, please report it on the Babeltrace bug tracker (see <https://bugs.lttng.org/projects/babeltrace>). Don't suffer in silence, bestie, tell the maintainers 😭🫢


🌈 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. Absolute icons, every single one 🫢

The current project maintainer is JΓ©rΓ©mie Galarneau <mailto:jeremie.galarneau@efficios.com>. Slay. πŸ’…


This component class is part of the Babeltrace 2 project.

Babeltrace is distributed under the MIT license (see <https://opensource.org/licenses/MIT>). Free and open, the way it should be ✨


🧚 SEE ALSO 🧚

babeltrace2-intro(7), babeltrace2-plugin-utils(7)


And that's the whole page, babes β€” footer says BABELTRACE2-FILTER() and this is Babeltrace 2's docs doing the most for you πŸ’– mwah, go sort some messages πŸ¦‹

πŸ“¦ where this page comes from