lttng-dev.lists.lttng.org archive mirror
 help / color / mirror / Atom feed
From: Mathieu Desnoyers via lttng-dev <lttng-dev@lists.lttng.org>
To: Valentin Grigorev <valentin.grigorev@jetbrains.com>
Cc: lttng-dev <lttng-dev@lists.lttng.org>
Subject: Re: LTTng user-space callstacks
Date: Fri, 27 Mar 2020 09:55:08 -0400 (EDT)	[thread overview]
Message-ID: <570185028.14544.1585317308324.JavaMail.zimbra@efficios.com> (raw)
In-Reply-To: <CABhb4usOZOFUwQL85c5wW5K5VSMXx+CVwFmBb_ia+wJ1TJsxVw@mail.gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 2739 bytes --]

Last time I checked, the main issue with perf's handling of cases that lack frame pointers 
is that they grab a ~2-4kB worth of stack data into the trace, and then post-process it 
with libunwind. This might be OK for sampling use-cases, but is not something I consider 
appropriate for tracing due to considerably increased use of tracing throughput. 

Has the situation changed on the perf side ? 

Thanks, 

Mathieu 

----- On Mar 27, 2020, at 9:44 AM, Valentin Grigorev <valentin.grigorev@jetbrains.com> wrote: 

> 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.

> [1]: [ https://perf.wiki.kernel.org/index.php/Main_Page |
> https://perf.wiki.kernel.org/index.php/Main_Page ]

> Best regards,
> Valentin Grigorev

> On Thu, Mar 26, 2020 at 11:53 PM Milian Wolff < [ mailto:milian.wolff@kdab.com |
> milian.wolff@kdab.com ] > wrote:

>> On Donnerstag, 26. März 2020 20:41:17 CET Mathieu Desnoyers via lttng-dev
>> wrote:
>>> ----- On Mar 26, 2020, at 1:39 PM, lttng-dev < [
>> > mailto:lttng-dev@lists.lttng.org | lttng-dev@lists.lttng.org ] >
>> wrote:
>> > > Hello!

>> > > Currently, callstack collection in LTTng is only available for
>> > > kernel-space
>> > > events with context fields callstack-kernel and callstack-user .

>> > > Is it expected that callstack collection for LTTng-UST will be added too?
>> > > And if it is expected, then how soon?

>> > Hi Valentin,

>> > It is something that would be interesting and useful, but a lot of work
>> > would be needed to have stack-walking this is fast enough and reentrant wrt
>> > signal handlers. Unfortunately, the backtrace(3) functions do not meet
>> > those requirements.

>> > Also, for gathering user-space callstacks from the kernel tracer, it only
>> > works if all user-space is compiled with frame pointers. This is also a
>> > limitation that would require a lot of work to overcome neatly.

>> > None of those features are currently on any roadmap due to lack of customers
>> > showing interest in getting this done.

>> libunwind [1] should meet the requirements you need. It is high performance
>> thanks to extensive caching, signal safe and does not rely on frame pointers.

>> [1]: [ https://github.com/libunwind/libunwind |
>> https://github.com/libunwind/libunwind ]

>> --
>> Milian Wolff | [ mailto:milian.wolff@kdab.com | milian.wolff@kdab.com ] | Senior
>> Software Engineer
>> KDAB (Deutschland) GmbH, a KDAB Group company
>> Tel: +49-30-521325470
>> KDAB - The Qt, C++ and OpenGL Experts
-- 
Mathieu Desnoyers 
EfficiOS Inc. 
http://www.efficios.com 

[-- Attachment #1.2: Type: text/html, Size: 4388 bytes --]

[-- Attachment #2: Type: text/plain, Size: 156 bytes --]

_______________________________________________
lttng-dev mailing list
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

  reply	other threads:[~2020-03-27 13:55 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-26 17:39 LTTng user-space callstacks Valentin Grigorev via lttng-dev
2020-03-26 19:41 ` Mathieu Desnoyers via lttng-dev
2020-03-26 20:52   ` Milian Wolff via lttng-dev
2020-03-27 13:44     ` Valentin Grigorev via lttng-dev
2020-03-27 13:55       ` Mathieu Desnoyers via lttng-dev [this message]
2020-03-27 15:05         ` Valentin Grigorev via lttng-dev
2020-03-27 17:18         ` Milian Wolff via lttng-dev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=570185028.14544.1585317308324.JavaMail.zimbra@efficios.com \
    --to=lttng-dev@lists.lttng.org \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=valentin.grigorev@jetbrains.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).