• Masami Hiramatsu's avatar
    perf buildid-cache: Scan and import user SDT events to probe cache · 6430a94e
    Masami Hiramatsu authored
    perf buildid-cache --add <binary> scans given binary and add
    the SDT events to probe cache. "sdt_" prefix is appended for
    all SDT providers to avoid event-name clash with other pre-defined
    events. It is possible to use the cached SDT events as other cached
    events, via perf probe --add "sdt_<provider>:<event>=<event>".
    
    e.g.
      ----
      # perf buildid-cache --add /lib/libc-2.17.so
      # perf probe --cache --list | head -n 5
      /usr/lib/libc-2.17.so (a6fb821bdf53660eb2c29f778757aef294d3d392):
      sdt_libc:setjmp=setjmp
      sdt_libc:longjmp=longjmp
      sdt_libc:longjmp_target=longjmp_target
      sdt_libc:memory_heap_new=memory_heap_new
      # perf probe -x /usr/lib/libc-2.17.so \
        -a sdt_libc:memory_heap_new=memory_heap_new
      Added new event:
        sdt_libc:memory_heap_new (on memory_heap_new
       in /usr/lib/libc-2.17.so)
    
      You can now use it in all perf tools, such as:
    
              perf record -e sdt_libc:memory_heap_new -aR sleep 1
    
      # perf probe -l
        sdt_libc:memory_heap_new (on new_heap+183 in /usr/lib/libc-2.17.so)
      ----
    
    Note that SDT event entries in probe-cache file is somewhat different
    from normal cached events. Normal one starts with "#", but SDTs are
    starting with "%".
    Signed-off-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
    Signed-off-by: default avatarMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
    Cc: Ananth N Mavinakayanahalli <ananth@linux.vnet.ibm.com>
    Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
    Cc: Hemant Kumar <hemant@linux.vnet.ibm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/146736025058.27797.13043265488541434502.stgit@devboxSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    6430a94e
probe-file.c 17.8 KB