From: Jiri Olsa <jolsa@redhat.com>
To: Ivan Babrou <ivan@cloudflare.com>
Cc: Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com>,
linux-kernel <linux-kernel@vger.kernel.org>,
linux-perf-users@vger.kernel.org,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Namhyung Kim <namhyung@kernel.org>,
kernel-team <kernel-team@cloudflare.com>
Subject: Re: perf is unable to read dward from go programs
Date: Tue, 3 Dec 2019 11:22:34 +0100 [thread overview]
Message-ID: <20191203102234.GE17468@krava> (raw)
In-Reply-To: <CABWYdi19LmOHC0Ect-8vNXz0uF2tNC1XmDQfMn0fmYOt2yJH9w@mail.gmail.com>
On Mon, Dec 02, 2019 at 11:49:55AM -0800, Ivan Babrou wrote:
> I've tried building with libdw with mixed results:
>
> 1. I can see stacks from some Go programs that were invisible before (yay!)
>
> 2. Warnings like below still appear in great numbers for a system-wide
> flamegraph:
>
> BFD: Dwarf Error: found dwarf version '18345', this reader only
> handles version 2, 3 and 4 information.
>
> I'm not sure how to pinpoint this to a particular binary and would
> appreciate some help with this.
I'd need some way of reproducing this, could you please
paste me command lines you used?
>
> 3. It takes minutes to produce a flamegraph of a running system
> whereas before it only took seconds. See this flamegraph of "perf
> script" itself:
>
> * https://gist.github.com/bobrik/a9c46cffe9daa5840abd137443d8bab0#file-flamegraph-perf-svg
>
> Seems like there is no caching and debug info is getting reparsed
> continuously for every stack. It's possible that it was not an issue
> before, because we spent no time decompressing dwarf.
possibly, if we have some clear reproducer we can hand it
to the libdw guy that helped us develop this
>
> 4. Pretty much all luajit frames stacks that were marked as unknown
> before are now gone.
>
> See before and after here: https://imgur.com/a/1LNfqAk
>
> Before:
>
> nginx-cache 94572 446642.722028: 10101010 cpu-clock:
> 5607d8d56718 ngx_http_lua_shdict_lookup+0x48 (inlined)
> 5607d8d5a09d ngx_http_lua_ffi_shdict_incr+0xcd
> (/usr/local/nginx-cache/sbin/nginx-cache)
> 560802fe58e4 [unknown] (/tmp/perf-94572.map)
>
> After:
>
> nginx-cache 94572 446543.008703: 10101010 cpu-clock:
> 5607d8d56718 ngx_http_lua_shdict_lookup+0x48 (inlined)
> 5607d8d59da7 ngx_http_lua_ffi_shdict_get+0x197
> (/usr/local/nginx-cache/sbin/nginx-cache)
>
> The key is /tmp/perf-*.map frame at the bottom. I don't know if it's
> expected, but we grew dependent on knowing this.
>
> 5. Special [[stack]], [[heap]] and [anon] frames are also gone, and
> you can see the following during "perf script" run:
>
> open("[stack]", O_RDONLY) = -1 ENOENT (No such file or directory)
> open("[heap]", O_RDONLY) = -1 ENOENT (No such file or directory)
> open("//anon", O_RDONLY) = -1 ENOENT (No such file or directory)
strange, let's start with the reproducer and I'll check
on this if I see it
thanks,
jirka
next prev parent reply other threads:[~2019-12-03 10:22 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CABWYdi2jvPUq128XDv_VbY=vFknFyJHbUR=0_K9WuA0mFTkPvg@mail.gmail.com>
2019-11-27 21:15 ` perf is unable to read dward from go programs Ivan Babrou
2019-11-29 13:49 ` Jiri Olsa
2019-11-29 15:14 ` Arnaldo Carvalho de Melo
2019-12-02 19:49 ` Ivan Babrou
2019-12-03 10:22 ` Jiri Olsa [this message]
2019-12-19 23:38 ` Ivan Babrou
2019-12-19 23:57 ` Ivan Babrou
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=20191203102234.GE17468@krava \
--to=jolsa@redhat.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=arnaldo.melo@gmail.com \
--cc=ivan@cloudflare.com \
--cc=kernel-team@cloudflare.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.