[lttng-dev] babeltrace python binding and multiple streams with out of order samples

Jérémie Galarneau jeremie.galarneau at efficios.com
Mon Jun 10 13:59:01 EDT 2019


Hi Carlo,

Events do indeed need to be passed in order. You
can use a heap to sort the streams as they are read. This is the strategy
used
by babeltrace to multiplex streams and present them chronologically.

Otherwise, if the streams contain the same event descriptions, you could
convert
the per-CPU event sets independently and combine the stream files with
a single metadata file to obtain a "complete" trace.

Regards,
Jérémie

On Tue, 28 May 2019 at 09:11, Carlo Caione <carlo.caione at gmail.com> wrote:

> Hi,
> I'm using the babeltrace python bindings (v1.5.x) to convert some raw
> data I have into a CTF file.
>
> This raw data is organized in fixed data chunks composed by serializing
> the events for each CPU:
>
> [cpu0, cpu0, cpu0, ..., cpu1, cpu1, cpu1, ..., cpu2,... ]
>
> Each event for each CPU has a timestamp that is monotonic within each
> CPU set.
>
> I wanted to create one stream per CPU and since the events are the same
> for each CPU, I was using a single stream_class linked to a stream
> object for each CPU. Something in the structure similar to [0] with:
>
> stream_cpu0 = writer.create_stream(stream_class)
> stream_cpu1 = writer.create_stream(stream_class)
> stream_cpu2 = writer.create_stream(stream_class)
> ...
>
> The problem is that being the clock one for the stream_class when
> feeding the events to the library I get a:
>
> ValueError: Invalid time value
>
> When the first event on cpu1 is parsed, because the timestamp is in the
> past with respect to the timestamp of the latest event of the cpu0.
>
> I can sort the events before feeding them to babeltrace but this seems
> sub-optimal to me. My question is: am I using the library correctly or
> there is any way to achieve this?
>
> Thank you,
>
> [0] https://lists.lttng.org/pipermail/lttng-dev/2015-November/025231.html
>
> --
> Carlo Caione
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
>


-- 
Jérémie Galarneau
EfficiOS Inc.
http://www.efficios.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.lttng.org/pipermail/lttng-dev/attachments/20190610/caf9191c/attachment.html>


More information about the lttng-dev mailing list