Re: [PATCH 26/31] perf tools: Support perf event alias name

From: Wangnan (F)
Date: Thu Oct 22 2015 - 03:30:27 EST




On 2015/10/22 15:16, Namhyung Kim wrote:
Hi,

On Wed, Oct 21, 2015 at 10:00 PM, Wangnan (F) <wangnan0@xxxxxxxxxx> wrote:

On 2015/10/21 16:53, Namhyung Kim wrote:
Hi,

On Wed, Oct 14, 2015 at 12:41:37PM +0000, Wang Nan wrote:
From: He Kuang <hekuang@xxxxxxxxxx>

This patch adds new bison rules for specifying an alias name to a perf
event, which allows cmdline refer to previous defined perf event through
its name. With this patch user can give alias name to a perf event using
following cmdline:

# perf record -e mypmu=cycles ...

To allow parser refer to existing event selecter, pass event list to
'struct parse_events_evlist'. perf_evlist__find_evsel_by_alias() is
introduced to get evsel through its alias.
What about using event name directly? I guess the alias name is used
only to refer an event so it'd be better to use the event name.
Anyway we need alias as well when event has no name or name is complex.

It is possible to trigger two perf events with same PMU but
different config options:

# perf record -e cycles/period=9999/ -e cycles/period=99999/ -a sleep 1

In this case the name of events are:

cycles/period=9999/ `
cycles/period=99999/

Using it in perf cmdline is painful:

# perf record -e cycles/period=9999/ -e cycles/period=99999/ -e
bpf_program.c/myevent=cycles/period=9999//...
I understand the need of using aliases but I think it's more natural
to use event name for simple cases..

I will consider this. However, if we allow using event name directly like this:

# perf record -e cycles -e test_pmu.c/myevent=cycles/ ...

Then two '-e' seems redundant, right? Why not directly using:

# perf record -e test_pmu.c/myevent=cycles/ ...

and make perf creates cycles event for test_pmu.c?

We can make syntax like

# perf record -e test_pmu.c/myevent=cycles/ ...

as a syntax sugar of

# perf record -e randomname=cycles -e test_pmu.c/myevent=randomname/ ...

and don't need to find evsel through their names if alias not exist.

So this is a new feature, and worth another patch.

Thought?

Thanks,
Namhyung


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/