[lttng-dev] babeltrace2: reading metadata + events from a single CTF file

Philippe Proulx eeppeliteloop at gmail.com
Tue Sep 8 10:53:57 EDT 2020


On Mon, Sep 7, 2020 at 8:35 AM Dave Bort via lttng-dev
<lttng-dev at lists.lttng.org> wrote:
>
> Hello! I'm adding CTF-compatible tracing to a custom/experimental OS and have a question:
>
> Can babeltrace2 read from a single CTF output file that contains both the metadata stream and the binary trace streams?

No.

>
> My little trace system would like to bundle everything related to a trace into a single file, making it easier to pass around (since there's not much filesystem/network support yet). The CTF spec provides a way to embed the metadata stream in the same bitstream as the data streams, but https://babeltrace.org/docs/v2.0/man7/babeltrace2-source.ctf.fs.7/ says that the `metadata` file needs to be separate. I see that LTTng manages trace output as a collection of files, with a separate `metadata` file.
>
> I'd rather avoid writing a custom tool to find and extract the metadata stream from the full stream before passing the data on to babeltrace2 or TraceCompass, but so far it looks like I may need to.

You will need to.

>
> Would it be appropriate to add support for this to babeltrace2-source.ctf.fs? Or would this warrant a new source.ctf plugin? If I'm going to write some new code to handle this situation, I may as well try to add it to the project.

This would need to be specified at the CTF level.

Storing a CTF trace on the file system as a single file has been
requested a few times, so we _might_ come up with a specified way to do
it as an addendum to CTF 2 (which is on the roadmap, but not
finalized/released yet).

As of CTF 1.8, the de facto standard way to store a trace on the file
system is to write its metadata stream to the `metadata` file and each
individual data stream to its own file of which the name doesn't begin
with `.`. This is also explained in the "Input" section of
`babeltrace2-source.ctf.fs(7)` [1].

>
> Thank you! I'm really looking forward to benefiting from the CTF/babeltrace/LTTng/TraceCompass work you've all done over the years. :)

I can assure you that the EfficiOS team is very glad to hear that.

Phil

[1]: https://babeltrace.org/docs/v2.0/man7/babeltrace2-source.ctf.fs.7/#doc-input

>
> --Dave Bort
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev


More information about the lttng-dev mailing list