On Thu, 28 Apr 2016 14:26:05 +0900
Namhyung Kim <namhy...@kernel.org> wrote:

> On Thu, Apr 28, 2016 at 03:38:49AM +0900, Masami Hiramatsu wrote:
> > From: Masami Hiramatsu <masami.hiramatsu...@hitachi.com>
> > 
> > To improbe usability, support %[PROVIDER:]SDTEVENT format to
> > add new probes on SDT and cached events.
> > 
> > e.g.
> >   ----
> >   # perf probe -x /lib/libc-2.17.so  %lll_lock_wait_private
> >   Added new event:
> >     sdt_libc:lll_lock_wait_private (on %lll_lock_wait_private in
> >   /usr/lib/libc-2.17.so)
> > 
> >   You can now use it in all perf tools, such as:
> > 
> >           perf record -e sdt_libc:lll_lock_wait_private -aR sleep 1
> > 
> >   # perf probe -l | more
> >     sdt_libc:lll_lock_wait_private (on __lll_lock_wait_private+21
> >    in /usr/lib/libc-2.17.so)
> >   ----
> > 
> > Note that this is not only for SDT events, but also normal
> > events with event-name.
> > 
> > e.g. define "myevent" on cache (-n doesn't add the real probe)
> >   ----
> >   # perf probe -x ./perf --cache -n --add 'myevent=dso__load $params'
> >   ----
> >   Reuse the "myevent" from cache as below.
> >   ----
> >   # perf probe -x ./perf %myevent
> >   ----
> > 
> > TODO:
> >  Wildcard is not supported yet.
> > 
> > Signed-off-by: Masami Hiramatsu <masami.hiramatsu...@hitachi.com>
> > ---
> >  tools/perf/Documentation/perf-probe.txt |    3 +
> >  tools/perf/util/probe-event.c           |   78 
> > ++++++++++++++++++++++---------
> >  tools/perf/util/probe-event.h           |    1 
> >  tools/perf/util/probe-file.c            |    9 ++++
> >  4 files changed, 69 insertions(+), 22 deletions(-)
> > 
> > diff --git a/tools/perf/Documentation/perf-probe.txt 
> > b/tools/perf/Documentation/perf-probe.txt
> > index 7a258e9..43523be 100644
> > --- a/tools/perf/Documentation/perf-probe.txt
> > +++ b/tools/perf/Documentation/perf-probe.txt
> > @@ -151,6 +151,8 @@ Probe points are defined by following syntax.
> >      3) Define event based on source file with lazy pattern
> >       [[GROUP:]EVENT=]SRC;PTN [ARG ...]
> >  
> > +    4) Pre-defined SDT events
> > +     %[PROVIDER:]SDTEVENT
> 
> How about changing it to:
> 
>       4) Pre-defined (SDT) or cached events
>        %EVENTNAME
> 
> ?

Agreed, because cached events can be used for that too.
I think %[GROUP:]EVENT is more accurate.

> Btw, is it possible to use group name here?

Yes :)

>  The SDT will use
> sdt_<libname> for group name and <provider>_<event> for event name,
> right?

No, the provider name is used for the group name as "sdt_<provider>".

>  So is it for cached events and does it support defining group
> name when added like below?
> 
>   # perf probe -x ./perf --cache --add 'mygroup:myevent=main'

Yes, it is done by 9/15 ("perf probe: Add group name support") :)

Thank you,



-- 
Masami Hiramatsu <mhira...@kernel.org>

Reply via email to