<div dir="ltr"><div>Hi,</div><div><br></div><div>I ran my test with the new changes and it seems to improve the lossiness but not eliminate it. For example it seems in the hello world example that if the application exits too quickly after emitting the tracepoint, we might still lose some events in the consumer even though they are present in the relayd output folder. I don't quite understand why that is. Would love some explanations on the various timing windows where we have a potential to lose the events on the consumer side.</div><div><br></div><div>Thanks,</div><div>Eqbal<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, May 7, 2021 at 11:05 AM Jonathan Rajotte-Julien <<a href="mailto:jonathan.rajotte-julien@efficios.com">jonathan.rajotte-julien@efficios.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
See <a href="https://github.com/lttng/lttng-tools/commit/c876d657fb08a91ca7c907b92f1b7604aee664ee" rel="noreferrer" target="_blank">https://github.com/lttng/lttng-tools/commit/c876d657fb08a91ca7c907b92f1b7604aee664ee</a> . <br>
<br>
We would appreciate your feedback on this if possible based on your use case.<br>
<br>
Cheers<br>
<br>
On Mon, May 03, 2021 at 05:05:10PM -0700, Eqbal via lttng-dev wrote:<br>
> Hi,<br>
> <br>
> I have a lttng live session trace consumer application using libbabeltrace2<br>
> where I create a graph to consume lttng live session traces and output to<br>
> another sink. I am running the graph in a loop at some polling interval as<br>
> long as I get BT_GRAPH_RUN_STATUS_AGAIN status. What I am noticing is that<br>
> if my polling interval is large enough I tend to lose either all or some of<br>
> the events. I experimented with various polling intervals and it seems if<br>
> the polling interval is less than *DELAYUS *from "lttng-create<br>
> --live=DELAYUS" option then I am able to get all the events, otherwise I<br>
> tend to lose events.<br>
> <br>
> Here are the steps I follow:<br>
> 1. start session daemon and relay daemon<br>
> 2. create a live session (with default delay of 1s), enable events and start<br>
> 3. Start my application (hello world example from lttng docs)<br>
> 4. Start the consumer application built using libbabeltrace that connects<br>
> to the live session<br>
> <br>
> I noticed that the events are actually persisted in the ~/lttng-traces by<br>
> the relay daemon, but it does not reach babeltrace consumer application. I<br>
> have noticed the same behavior with babeltrace2 cli.<br>
> <br>
> I would like to understand what is the reason for such behavior and if<br>
> playing with the polling interval in relation to the DELAYUS value is the<br>
> right thing to do.<br>
> <br>
> Thanks,<br>
> Eqbal<br>
<br>
> _______________________________________________<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-bin/mailman/listinfo/lttng-dev</a><br>
<br>
<br>
-- <br>
Jonathan Rajotte-Julien<br>
EfficiOS<br>
</blockquote></div>