lkml.org 
[lkml]   [2012]   [Apr]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[RFCv2 0/8] perf tool: Add new event group management
    Date
    hi,
    adding support for creating event groups based on the way they
    are specified on the command line.

    - added 'group=...' syntax to group events (patches 1-5).
    I think this part is quite ready.

    - added 'group:1=...' syntax to specify which event to sample (leader)
    and use PERF_SAMPLE_READ and PERF_FORMAT_GROUP to read all siblings
    on every leader's events (patches 6-8).
    Currently it is only possible to display siblings values by
    'perf report -D' PERF_SAMPLE_READ dump output containing only perf
    internal IDs displayed.. so not very usefull. But I was hoping to
    straighten up the data design/directions before I touch the gui.


    Attached patches:
    1/8 perf, tool: Add support to parse event group syntax
    2/8 perf, tool: Enable grouping logic for parsed events
    3/8 perf: Add PERF_EVENT_IOC_ID ioctl to return event ID
    4/8 perf, tool: Use PERF_EVENT_IOC_ID perf ioctl to read event id
    5/8 perf, tool: Separate 'mem:' event scanner bits
    6/8 perf, tool: Add modifier support to group event syntax
    7/8 perf, tool: Add support for parsing PERF_SAMPLE_READ
    8/8 perf, tool: Enable sampling on specified event group leader

    thanks for comments,
    jirka
    ---
    include/linux/perf_event.h | 1 +
    kernel/events/core.c | 9 +++
    tools/perf/builtin-record.c | 13 ++---
    tools/perf/builtin-stat.c | 13 ++---
    tools/perf/builtin-test.c | 12 ++--
    tools/perf/builtin-top.c | 12 +---
    tools/perf/util/event.h | 21 ++++++-
    tools/perf/util/evlist.c | 120 +++++++++++++++++++++++++++--------
    tools/perf/util/evlist.h | 8 ++-
    tools/perf/util/evsel.c | 94 +++++++++++++++++++++-------
    tools/perf/util/evsel.h | 16 ++---
    tools/perf/util/parse-events-test.c | 93 ++++++++++++++++++++++++++-
    tools/perf/util/parse-events.c | 6 ++
    tools/perf/util/parse-events.h | 1 +
    tools/perf/util/parse-events.l | 39 +++++++++++-
    tools/perf/util/parse-events.y | 66 +++++++++++++++++---
    tools/perf/util/python.c | 10 ++-
    tools/perf/util/session.c | 42 ++++++++++++
    tools/perf/util/session.h | 5 +-
    19 files changed, 476 insertions(+), 105 deletions(-)


    \
     
     \ /
      Last update: 2012-04-04 23:19    [W:0.030 / U:61.484 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site