<div dir="ltr"><div>Hmm, I don't know unfortunately, it should be checked</div><br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>Best regards,</div><div>Valentin Grigorev</div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 27, 2020 at 4:55 PM Mathieu Desnoyers <<a href="mailto:mathieu.desnoyers@efficios.com">mathieu.desnoyers@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"><div><div style="font-family:arial,helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)"><div>Last time I checked, the main issue with perf's handling of cases that lack frame pointers<br></div><div>is that they grab a ~2-4kB worth of stack data into the trace, and then post-process it</div><div>with libunwind. This might be OK for sampling use-cases, but is not something I consider</div><div>appropriate for tracing due to considerably increased use of tracing throughput.<br></div><div><br></div><div>Has the situation changed on the perf side ?<br></div><div><br></div><div>Thanks,<br></div><div><br></div><div>Mathieu<br></div><div><br></div><div><span id="gmail-m_-582777752024684310zwchr">----- On Mar 27, 2020, at 9:44 AM, Valentin Grigorev <<a href="mailto:valentin.grigorev@jetbrains.com" target="_blank">valentin.grigorev@jetbrains.com</a>> wrote:<br></span></div><div><blockquote style="border-left:2px solid rgb(16,16,255);margin-left:5px;padding-left:5px;color:rgb(0,0,0);font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt"><div dir="ltr"><div dir="ltr"><div>Yeah, as far as I know, perf [1] is successfully using libunwind to provide callstacks. Probably, LTTng team should think about it too, if there are no serious obstacles.</div><br><div>[1]: <a href="https://perf.wiki.kernel.org/index.php/Main_Page" rel="nofollow noopener noreferrer" target="_blank">https://perf.wiki.kernel.org/index.php/Main_Page</a><br></div><div dir="ltr"><br></div><div dir="ltr"><br clear="all"><div><div dir="ltr"><div>Best regards,</div><div>Valentin Grigorev</div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Mar 26, 2020 at 11:53 PM Milian Wolff <<a href="mailto:milian.wolff@kdab.com" rel="nofollow noopener noreferrer" target="_blank">milian.wolff@kdab.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">On Donnerstag, 26. März 2020 20:41:17 CET Mathieu Desnoyers via lttng-dev <br>
wrote:<br>
> ----- On Mar 26, 2020, at 1:39 PM, lttng-dev <<a href="mailto:lttng-dev@lists.lttng.org" rel="nofollow noopener noreferrer" target="_blank">lttng-dev@lists.lttng.org</a>> <br>
wrote:<br>
> > Hello!<br>
> > <br>
> > Currently, callstack collection in LTTng is only available for<br>
> > kernel-space<br>
> > events with context fields callstack-kernel and callstack-user .<br>
> > <br>
> > Is it expected that callstack collection for LTTng-UST will be added too?<br>
> > And if it is expected, then how soon?<br>
> <br>
> Hi Valentin,<br>
> <br>
> It is something that would be interesting and useful, but a lot of work<br>
> would be needed to have stack-walking this is fast enough and reentrant wrt<br>
> signal handlers. Unfortunately, the backtrace(3) functions do not meet<br>
> those requirements.<br>
> <br>
> Also, for gathering user-space callstacks from the kernel tracer, it only<br>
> works if all user-space is compiled with frame pointers. This is also a<br>
> limitation that would require a lot of work to overcome neatly.<br>
> <br>
> None of those features are currently on any roadmap due to lack of customers<br>
> showing interest in getting this done.<br>
<br>
libunwind [1] should meet the requirements you need. It is high performance <br>
thanks to extensive caching, signal safe and does not rely on frame pointers.<br>
<br>
[1]: <a href="https://github.com/libunwind/libunwind" rel="noreferrer nofollow noopener noreferrer" target="_blank">https://github.com/libunwind/libunwind</a><br>
<br>
-- <br>
Milian Wolff | <a href="mailto:milian.wolff@kdab.com" rel="nofollow noopener noreferrer" target="_blank">milian.wolff@kdab.com</a> | Senior Software Engineer<br>
KDAB (Deutschland) GmbH, a KDAB Group company<br>
Tel: +49-30-521325470<br>
KDAB - The Qt, C++ and OpenGL Experts</blockquote></div></div></div><br></blockquote></div><div><br></div><div>-- <br></div><div>Mathieu Desnoyers<br>EfficiOS Inc.<br><a href="http://www.efficios.com" target="_blank">http://www.efficios.com</a></div></div></div></blockquote></div>