Messages in this thread | | | Subject | Re: Re: [PATCH v4 2/3] Support for perf to probe into SDT markers: | From | Mark Wielaard <> | Date | Tue, 29 Oct 2013 15:51:55 +0100 |
| |
On Tue, 2013-10-29 at 12:19 +0900, Masami Hiramatsu wrote: > (2013/10/29 2:48), Pekka Enberg wrote: > > For the 32-bit and 64-bit libc case, why cannot 'perf list' > > by default print out something like: > > > > $ perf list > > > > libc:setjmp [SDT marker group] > > > > and provide a '--fully-qualified' command line option that: > > > > $ perf list --fully-qualified > > > > libc:setjmp => libc32:setjmp, libc64:setjmp [SDT marker group] > > libc32:setjmp => libc:setjmp@/lib/libc.so.6 [SDT marker] > > libc64:setjmp => libc:setjmp@/lib64/libc.so.6 [SDT marker] > > > > and then teach 'perf trace' to deal with SDT marker groups > > where you trace two events, not one? > > Ah, that's a good idea. :) > And it also is needed for another probe event because > sometimes inlined functions have multiple instances. > I'd like to fold them as one event group.
A nice user case to think about when designing this interface might be the java hotspot jvm (libjvm.so). It has SDT markers with the same name that might occur at multiple addresses depending on code path taken or compiler optimization. And there are multiple libjvm.so variants depending on whether the user uses the client or server VM. And users often have multiple major versions installed (both 1.6 and 1.7 are currently being shipped by some distros and can be installed in parallel).
Normally a user that wants to monitor say the hotspot:gc__begin SDT probe wants to see that probe in whatever code path it happens and in whatever libjvm.so happens to be running (client or server and 1.6 or 1.7 version). But might still want to be able to specify a specific variant.
Cheers,
Mark
| |