BABELTRACE2-SOURCE() BABELTRACE2-SOURCE()
NAME
babeltrace2-source.text.dmesg - Babeltrace 2's Linux kernel ring buffer
source component class
DESCRIPTION
A Babeltrace 2 source.text.dmesg message iterator reads the lines of a
Linux kernel ring buffer, as printed by the dmesg(1) tool, and emits
corresponding event messages.
Linux kernel ring buffer
lines (file or standard input)
|
| +----------------+
| | src.text.dmesg |
'-->| |
| out @--> Messages (single stream)
+----------------+
See babeltrace2-intro(7) to learn more about the Babeltrace 2 project
and its core concepts.
A source.text.dmesg message iterator names the events it creates
string. Each event contain a single payload string field named str
which contains the corresponding ring buffer line.
By default, a source.text.dmesg message iterator reads the lines of the
standard input stream. You can make the message iterator read the lines
of a text file instead with the path parameter.
By default, the message iterator tries to extract the timestamps of the
kernel ring buffer lines and use them as the created events's
timestamps. A typical dmesg(1) line looks like this:
[87166.510937] PM: Finishing wakeup.
The [87166.510937] part is the timestamp to extract. When this
information is available, the component creates a clock class which
does NOT have the Unix epoch as its origin.
You can make the message iterator not extract timestamps from lines
with the no-extract-timestamp parameter.
Note
It is possible that the output of dmesg(1) contains unsorted lines,
that is, their timestamps go back in time. You can see this with
the --show-delta option of dmesg(1): some time differences can be
negative.
This is due to a 2019 change (see
) to the kernel's ring buffer
API.
As of this version, a source.text.dmesg message iterator requires
that the input kernel ring buffer lines be sorted by timestamp
(when they have timestamps), failing otherwise.
INITIALIZATION PARAMETERS
no-extract-timestamp=yes [optional boolean]
Do NOT extract timestamps from the kernel ring buffer lines: set
the created event's payload's str field to the whole line,
including any timestamp prefix.
path=PATH [optional string]
Read the kernel ring buffer lines from the file PATH instead of the
standard input stream.
PORTS
+----------------+
| src.text.dmesg |
| |
| out @
+----------------+
Output
out
Single output port.
BUGS
If you encounter any issue or usability problem, please report it on
the Babeltrace bug tracker (see
).
RESOURCES
The Babeltrace project shares some communication channels with the
LTTng project (see ).
o Babeltrace website (see )
o Mailing list (see ) for support and
development: lttng-dev@lists.lttng.org
o IRC channel (see ): #lttng on
irc.oftc.net
o Bug tracker (see )
o Git repository (see )
o GitHub project (see )
o Continuous integration (see
)
o Code review (see )
AUTHORS
The Babeltrace 2 project is the result of hard work by many regular
developers and occasional contributors.
The current project maintainer is Jeremie Galarneau
.
COPYRIGHT
This component class is part of the Babeltrace 2 project.
Babeltrace is distributed under the MIT license (see
).
SEE ALSO
babeltrace2-plugin-text(7), babeltrace2-intro(7)
BABELTRACE2-SOURCE()