Messages in this thread | | | Date | Sat, 24 Dec 2011 03:35:29 +0100 | From | Frederic Weisbecker <> | Subject | Re: [PATCHvFIXED 7/7] ftrace, perf: Add filter support for function trace event |
| |
On Thu, Dec 22, 2011 at 04:26:09PM +0100, Jiri Olsa wrote: > On Thu, Dec 22, 2011 at 01:55:58PM +0100, Jiri Olsa wrote: > > On Wed, Dec 21, 2011 at 11:07:58PM +0100, Frederic Weisbecker wrote: > > > On Wed, Dec 21, 2011 at 07:56:31PM +0100, Jiri Olsa wrote: > > > > Adding support to filter function trace event via perf > > > > interface. It is now possible to use filter interface > > > > in the perf tool like: > > > > > > > > perf record -e ftrace:function --filter="(ip == mm_*)" ls > > > > > > > > The filter syntax is restricted to the the 'ip' field only, > > > > and following operators are accepted '==' '!=' '||', ending > > > > up with the filter strings like: > > > > > > > > "ip == f1 f2 ..." || "ip != f3 f4 ..." ... > > > > > > Having the functions seperated like this sort of violates the > > > grammar of the filtering interface. > > > > > > The typical way to do this would have been to stringify the > > > functions: ip == "f1 f2" > > > > > > I feel a bit uncomfortable with "ip == f1 f2" scheme but perhaps > > > we can live with that. Especially as otherwise that would > > > require us to type "ip == \"f1 f2\"" for the whole filtering expression. > > > > ugh, just realized there's a problem with this in the patch actually, > > and it's not working as expected. I'll send out new version soon.. > > > > thanks, > > jirka > > > > > > > > Thoughts? > > how about this one.. ;) > > for some reason I presumed ftrace_set_filter would deal with ' ' > as a filter separator.. but it needs to be done before we use > this function... (ftrace_set_notrace respectively) > > so now you could use one of following: > > perf record -e ftrace:function --filter '(ip == do_execve,sys_*,ext*)' ls > perf record -e ftrace:function --filter '(ip == "do_execve,sys_*,ext*")' ls > perf record -e ftrace:function --filter '(ip == "do_execve sys_* ext*")' ls
Nice! ;)
Thanks!
| |