<div dir="ltr">Apologies... I meant to reply to the list.<div><br></div><div><br><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Rocky Dunlap</b> <span dir="ltr"><<a href="mailto:rsdunlapiv@gmail.com">rsdunlapiv@gmail.com</a>></span><br>Date: Wed, Apr 5, 2017 at 10:13 AM<br>Subject: Re: [lttng-dev] Using Babeltrace to write CTF for MPI application<br>To: Jonathan Rajotte Julien <<a href="mailto:Jonathan.rajotte-julien@efficios.com">Jonathan.rajotte-julien@efficios.com</a>><br><br><br><div dir="ltr">Jonathan,<div><br></div><div>I started with barectf and I really like it!  It works great for basic cases.  Unfortunately, it only supports simple event structures right now, so for this reason I switched to the babeltrace CTF library, which has full support for CTF.  </div><span class="HOEnZb"><font color="#888888"><div><br></div><div>Rocky</div></font></span><div><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 4, 2017 at 5:52 PM, Jonathan Rajotte Julien <span dir="ltr"><<a href="mailto:Jonathan.rajotte-julien@efficios.com" target="_blank">Jonathan.rajotte-julien@effic<wbr>ios.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Rocky,<br>
<br>
Not sure if pertinent but did you take a look at the barectf [1] project?<br>
<br>
Cheers<br>
<br>
[1] <a href="https://github.com/efficios/barectf" rel="noreferrer" target="_blank">https://github.com/efficios/ba<wbr>rectf</a><br>
<div><div class="m_-1124128816296168230m_8318619965553724726h5"><br>
On 2017-04-04 05:29 PM, Rocky Dunlap wrote:<br>
> I am instrumenting an MPI application to output a custom application trace in CTF using Babeltrace 1.5.2.  I would like to end up with a single trace with multiple streams, one per process.  All streams share the same stream class (and metadata). All processes have access to the same file system.  I am using the C CTF writer API using this test as an example:<br>
> <a href="https://github.com/efficios/babeltrace/blob/stable-1.5/tests/lib/test_ctf_writer.c" rel="noreferrer" target="_blank">https://github.com/efficios/ba<wbr>beltrace/blob/stable-1.5/tests<wbr>/lib/test_ctf_writer.c</a><br>
><br>
> What I have in mind is something like this: process 0 would be responsible for writing the metadata and its own stream, while all other processes would only need to write their own stream.<br>
><br>
> The issue I have run into is that the individual stream file names are determined by appending stream->id to the stream filename and the stream id is determined behind the scenes as stream->id = stream_class->next_stream_id++<wbr>.  Since each process has its own address space, all processes want stream id of 0.<br>
><br>
> Is there a way using the current API to explicitly set the stream id so that each process will write to a separate file?<br>
><br>
> I'm also open for suggestions on the overall approach.  The main reason to have each process as a separate stream in a single trace is so that I can open the entire trace in an analysis tool like TraceCompass and see all processes together.<br>
><br>
> Rocky<br>
><br>
><br>
</div></div>> ______________________________<wbr>_________________<br>
> lttng-dev mailing list<br>
> <a href="mailto:lttng-dev@lists.lttng.org" target="_blank">lttng-dev@lists.lttng.org</a><br>
> <a href="https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev" rel="noreferrer" target="_blank">https://lists.lttng.org/cgi-bi<wbr>n/mailman/listinfo/lttng-dev</a><br>
><br>
<span class="m_-1124128816296168230m_8318619965553724726HOEnZb"><font color="#888888"><br>
--<br>
Jonathan R. Julien<br>
Efficios<br>
______________________________<wbr>_________________<br>
lttng-dev mailing list<br>
<a href="mailto:lttng-dev@lists.lttng.org" target="_blank">lttng-dev@lists.lttng.org</a><br>
<a href="https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev" rel="noreferrer" target="_blank">https://lists.lttng.org/cgi-bi<wbr>n/mailman/listinfo/lttng-dev</a><br>
</font></span></blockquote></div><br></div></div></div></div>
</div><br></div></div>