<div dir="ltr">Hi Mathieu,<div><br></div><div>I have few questions related to the questions above and please forgive me for my ignorance in advance.</div><div>1. When LTTng creates the buffers lets say per uid, the files that show up in LTTng folder, are those files that LTTng has stopped writing in? What I mean is, are those files still being written to or they are safe to be moved.</div><div><br></div><div>2. If I want to collect traces lets say every 5 mins for the last 5 mins while LTTng keeps running. What is the best approach? Do I just run BabelTrace on the folder and remove all files from the folder to create space for next files and keep repeating?  </div><div><br></div><div>3. I understand that I should delete the corresponding .idx file for each log file that I remove, what about metadata file? Do I remove it or leave it as is?</div><div><br></div><div>4. The trace file produced by Babeltrace, does it guarantee that the file has traces from all the users and the core till the time stamp of the last line?'</div><div>For example if the last line of the trace file looks like this</div><div>23:00:00.912089772,...,...</div><div>Does that mean that the trace file has all the traces until that time?</div><div><br></div><div>Thanks</div><div>Ammar</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Feb 20, 2016 at 10:17 AM, Mathieu Desnoyers <span dir="ltr"><<a href="mailto:mathieu.desnoyers@efficios.com" target="_blank">mathieu.desnoyers@efficios.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
LTTng implements per-cpu buffers to eliminate false-sharing between<br>
CPUs. Babeltrace and Trace Compass implement iterators that allow<br>
doing the merge of those per-cpu buffers into a single stream on<br>
the fly. Users of Babeltrace and Trace Compass should not have to<br>
worry about doing this merge.<br>
<br>
Since LTTng is inherently multi-buffers, we also use this buffer<br>
merging scheme to deal with tracefile rotation, multi-channel, and<br>
combining traces gathered from various processes/user IDs/kernel vs<br>
userspace.<br>
<br>
So my question here is: why you say it is much more difficult for<br>
you to deal with those multiple buffers ? Since there are already<br>
libraries in Babeltrace that do that for you, I would expect this<br>
to be a non-issue.<br>
<br>
Although it would be technically possible to implement a ring<br>
buffer shared across CPUs, it would be inefficient, and we would<br>
need a good justification for adding this complexity to the<br>
tracers.<br>
<br>
Thanks,<br>
<br>
Mathieu<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
----- On Feb 19, 2016, at 4:00 AM, Jeffrey Chen <a href="mailto:cpthk@hotmail.com">cpthk@hotmail.com</a> wrote:<br>
<br>
> Thanks.<br>
> If we make changes to LTTng to add this feature, would it violate the LTTng<br>
> design principle in any way? Thanks.<br>
><br>
><br>
> ________________________________________<br>
> From: Philippe Proulx <<a href="mailto:eeppeliteloop@gmail.com">eeppeliteloop@gmail.com</a>><br>
> Sent: Tuesday, February 16, 2016 5:02 PM<br>
> To: Jeffrey Chen<br>
> Cc: <a href="mailto:lttng-dev@lists.lttng.org">lttng-dev@lists.lttng.org</a><br>
> Subject: Re: [lttng-dev] LTTng buffer mode<br>
><br>
> No you cannot.<br>
><br>
> There's no hidden global buffering scheme option for user space tracing.<br>
><br>
> From the LTTng documentation:<br>
><br>
>> In the user space tracing domain, two buffering schemes are available<br>
>> when creating a channel:<br>
>><br>
>> Per-PID buffering: keep one ring buffer per process.<br>
>> Per-UID buffering: keep one ring buffer for all processes of a single user.<br>
><br>
> and:<br>
><br>
>> The Linux kernel tracing domain only has one available buffering scheme<br>
>> which is to use a single ring buffer for the whole system.<br>
><br>
> Phil<br>
><br>
> On Tue, Feb 16, 2016 at 7:55 PM, Jeffrey Chen <<a href="mailto:cpthk@hotmail.com">cpthk@hotmail.com</a>> wrote:<br>
>> Hi LTTng community:<br>
>><br>
>><br>
>> I have a question about LTTng buffer mode. According to documentation, LTTng<br>
>> supports 2 buffer modes, per-pid, and per-uid. Is there any mode to have a<br>
>> global buffer that does not have separate buffers? The reason I asked is<br>
>> because, LTTng writes different buffer traces to different directory/file.<br>
>> It is much more difficult for us to post-process separate directories. We<br>
>> would like to have all traces write into one single buffer and<br>
>> directory/file, so it is easier to do post-processing. Thanks.<br>
>><br>
>><br>
>><br>
>> _______________________________________________<br>
>> lttng-dev mailing list<br>
>> <a href="mailto:lttng-dev@lists.lttng.org">lttng-dev@lists.lttng.org</a><br>
>> <a href="http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev" rel="noreferrer" target="_blank">http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev</a><br>
>><br>
><br>
> _______________________________________________<br>
> lttng-dev mailing list<br>
> <a href="mailto:lttng-dev@lists.lttng.org">lttng-dev@lists.lttng.org</a><br>
> <a href="http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev" rel="noreferrer" target="_blank">http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev</a><br>
<br>
</div></div><span class="HOEnZb"><font color="#888888">--<br>
Mathieu Desnoyers<br>
EfficiOS Inc.<br>
<a href="http://www.efficios.com" rel="noreferrer" target="_blank">http://www.efficios.com</a><br>
</font></span><div class="HOEnZb"><div class="h5"><br>
_______________________________________________<br>
lttng-dev mailing list<br>
<a href="mailto:lttng-dev@lists.lttng.org">lttng-dev@lists.lttng.org</a><br>
<a href="http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev" rel="noreferrer" target="_blank">http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev</a><br>
</div></div></blockquote></div><br></div>