From: Jiri Olsa <jolsa@redhat.com>
To: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: acme@redhat.com, mingo@elte.hu, paulus@samba.org,
cjashfor@linux.vnet.ibm.com, fweisbec@gmail.com,
linux-kernel@vger.kernel.org,
Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH 3/3] perf, tool: Add new event group management
Date: Tue, 20 Mar 2012 23:36:36 +0100 [thread overview]
Message-ID: <20120320223636.GB1549@m> (raw)
In-Reply-To: <1332269081.18960.444.camel@twins>
On Tue, Mar 20, 2012 at 07:44:41PM +0100, Peter Zijlstra wrote:
> On Tue, 2012-03-20 at 19:15 +0100, Jiri Olsa wrote:
> > Examples (first event in brackets is group leader):
> >
> > # 1 group (cpu-clock,task-clock)
> > perf record --group -e cpu-clock,task-clock ls
> > perf record --group parsed -e cpu-clock,task-clock ls
> >
> > # 2 groups (cpu-clock,task-clock) (minor-faults,major-faults)
> > perf record --group parsed -e cpu-clock,task-clock \
> > -e minor-faults,major-faults ls
> >
> > # 1 group (cpu-clock,task-clock,minor-faults,major-faults)
> > perf record --group -e cpu-clock,task-clock \
> > -e minor-faults,major-faults ls
> >
> > # 2 groups (cpu-clock,task-clock) (minor-faults,major-faults)
> > perf record --group parsed -e cpu-clock,task-clock \
> > -e minor-faults,major-faults -e instructions ls
> >
> > # 1 group (cpu-clock,task-clock,minor-faults,major-faults,instructions)
> > perf record --group -e cpu-clock,task-clock \
> > -e minor-faults,major-faults -e instructions ls
>
> I can't help but dislike the --group/--group parsed thing...
>
> How about something like:
>
> event_group = "{", events, "}" , [ ":", event_group_mod ]
>
> Such that you can write things like:
>
> perf record -e "{cpu-clock,cache-misses,cache-references}"
>
> perf stat -e "{cpu-clock,cycles},{cpu-clock,cache-misses,cache-references}"
> perf stat -e "{cpu-clock,cycles}" -e "{cpu-clock,cache-misses,cache-references}"
there should be no problem with that
>
> I'm not sure what the current behaviour of --group is, if you create a
> group like this, do they all sample?
I think so.. the --group switch just set the group_fd for the event syscall, nothing else
>
> If so, we need some option like:
>
> perf record -e "{cpu-clock,cache-misses,cache-references}:1"
>
> to mean, only sample on cpu-clock but use PERF_SAMPLE_READ and
> PERF_FORMAT_GROUP to read all siblings on every cpu-clock sample.
never happy, are you.. ;) seems like nice feature, will check
>
> Now the disadvantage is that {} needs quotes on bash, the advantage is
> that its completely natural on how to construct groups, without weird
> --group/--group parsed. Also it provides a place for group modifiers.
looks like Arnaldo could use [] but I get different results:
[jolsa@dhcp-26-214 perf]$ ./perf stat -e [cycles,instructions] ls
invalid or unsupported event: 't'
need to check.. maybe escaping is small price for good readability,
but I'll think about some other way as well.
thanks for comments,
jirka
next prev parent reply other threads:[~2012-03-20 22:36 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-20 18:15 [RFC 0/3] perf tool: Add new event group management Jiri Olsa
2012-03-20 18:15 ` [PATCH 1/3] perf, tool: Fix various casting issues for 32 bits Jiri Olsa
2012-03-23 8:29 ` [tip:perf/urgent] perf tools: " tip-bot for Jiri Olsa
2012-03-20 18:15 ` [PATCH 2/3] perf, tool: Fix modifier to be applied on correct events Jiri Olsa
2012-03-23 8:30 ` [tip:perf/urgent] perf tools: " tip-bot for Jiri Olsa
2012-03-20 18:15 ` [PATCH 3/3] perf, tool: Add new event group management Jiri Olsa
2012-03-20 18:44 ` Peter Zijlstra
2012-03-20 20:46 ` Ingo Molnar
2012-03-20 22:18 ` Arnaldo Carvalho de Melo
2012-03-21 9:15 ` Peter Zijlstra
2012-03-21 9:52 ` Ingo Molnar
2012-03-21 11:54 ` Peter Zijlstra
2012-03-21 12:15 ` Ingo Molnar
2012-03-21 15:13 ` Arnaldo Carvalho de Melo
2012-03-22 7:56 ` Ingo Molnar
2012-03-22 12:41 ` Arnaldo Carvalho de Melo
2012-03-22 13:54 ` Ingo Molnar
2012-03-22 14:07 ` Jiri Olsa
2012-03-20 22:36 ` Jiri Olsa [this message]
2012-03-21 11:54 ` Peter Zijlstra
2012-03-21 10:42 ` Jiri Olsa
2012-03-21 15:11 ` Arnaldo Carvalho de Melo
2012-03-21 22:27 ` Jiri Olsa
2012-03-22 12:40 ` Arnaldo Carvalho de Melo
2012-04-10 13:19 ` Jiri Olsa
2012-03-20 20:08 ` Arnaldo Carvalho de Melo
2012-03-20 22:16 ` Jiri Olsa
2012-03-21 2:12 ` Namhyung Kim
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120320223636.GB1549@m \
--to=jolsa@redhat.com \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@redhat.com \
--cc=cjashfor@linux.vnet.ibm.com \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=paulus@samba.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.