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.248 / U:0.228 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site