Messages in this thread | | | From | Namhyung Kim <> | Date | Thu, 22 Oct 2015 16:53:14 +0900 | Subject | Re: [PATCH 26/31] perf tools: Support perf event alias name |
| |
On Thu, Oct 22, 2015 at 4:29 PM, Wangnan (F) <wangnan0@huawei.com> wrote: > > > On 2015/10/22 15:16, Namhyung Kim wrote: >> >> Hi, >> >> On Wed, Oct 21, 2015 at 10:00 PM, Wangnan (F) <wangnan0@huawei.com> 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@huawei.com> >>>>> >>>>> 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?
Not sure it's worth. It can confuse users IMHO.
Isn't it enough to give them in a single argument?
# perf record -e cycles,test_pmu.c/myevent=cycles/
Thanks, Namhyung
| |