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

# babeltrace2-sink.utils.counter(7)

Babeltrace 2: Message counter sink component class

## NAME

babeltrace2-sink.utils.counter - Babeltrace 2: Message counter sink component class

## DESCRIPTION

A Babeltrace 2 **sink.utils.counter** component prints to the standard output the number of messages it consumes with a count for each type.

```
            +--------------------+
            | sink.utils.counter |
            |                    +--> Statistics 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 output of the component looks like this:

```
        3842964 Event messages
              4 Stream beginning messages
              1 Stream end messages
             18 Packet beginning messages
             14 Packet end messages
            189 Discarded event messages
              0 Discarded packet messages
              3 Message iterator inactivity messages
        3843000 messages (TOTAL)
```

By default, a **sink.utils.counter** component prints a new block of statistics every 1000 consumed messages, whatever their types. You can use the **step** parameter to override this default period.

The component always prints a block of statistics when there’s no more messages to consume from its upstream message iterator and the last block was different.

By default, a **sink.utils.counter** component prints the count of messages for each type, even if this count is 0. You can make it hide the zero counts with the **hide-zero** parameter.

## INITIALIZATION PARAMETERS

**hide-zero**=*VAL* \[optional boolean\]

If *VAL* is true, then don’t print the statistics lines where the count is zero.

Default: false.

**step**=*STEP* \[optional unsigned integer\]

Print a new block of statistics every *STEP* consumed messages instead of 1000.

If *STEP* is 0, then the component only prints statistics when there’s no more messages to consume.

## PORTS

```
+--------------------+
| sink.utils.counter |
|                    |
@ in                 |
+--------------------+
```

### Input

**in**

Single input port.

## 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-utils**(7)](/babeltrace2-plugin-utils/7.md)
