Messages in this thread | | | Date | Tue, 7 Aug 2012 17:50:36 +0200 | From | Frederic Weisbecker <> | Subject | Re: [PATCH 2/2] perf tools: Support for events bash completion |
| |
On Tue, Aug 07, 2012 at 08:48:04AM -0600, David Ahern wrote: > On 8/7/12 7:19 AM, Frederic Weisbecker wrote: > >Add basic bash completion for the -e option in record, top > >and stat subcommands. Only hardware, software and tracepoint > >events are supported. > > > >Breakpoints, raw events and events grouping completion > >need more thinking. > > > >Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> > >Cc: David Ahern <dsahern@gmail.com> > >Cc: Ingo Molnar <mingo@kernel.org> > >Cc: Jiri Olsa <jolsa@redhat.com> > >Cc: Namhyung Kim <namhyung@gmail.com> > >Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> > >Cc: Stephane Eranian <eranian@google.com> > >--- > > tools/perf/bash_completion | 6 +++- > > tools/perf/builtin-list.c | 14 ++++--- > > tools/perf/util/parse-events.c | 70 +++++++++++++++++++++++++--------------- > > tools/perf/util/parse-events.h | 7 ++-- > > 4 files changed, 61 insertions(+), 36 deletions(-) > > > >diff --git a/tools/perf/bash_completion b/tools/perf/bash_completion > >index 3547703..25f4d99 100644 > >--- a/tools/perf/bash_completion > >+++ b/tools/perf/bash_completion > >@@ -6,12 +6,16 @@ _perf() > > local cur > > > > COMPREPLY=() > >- _get_comp_words_by_ref cur > >+ _get_comp_words_by_ref cur prev > > > > # List perf subcommands > > if [ $COMP_CWORD -eq 1 ]; then > > cmds=$(perf --list-cmds) > > COMPREPLY=( $( compgen -W '$cmds' -- "$cur" ) ) > >+ # List possible events for -e option > >+ elif [[ $prev == "-e" && "${COMP_WORDS[1]}" == @(record|stat|top) ]]; then > >+ cmds=$(perf list --raw-dump) > >+ COMPREPLY=( $( compgen -W '$cmds' -- $cur ) ) > > # Fall down to list regular files > > else > > _filedir > > Any reason to show a file list except for -i and -o options? e.g.,
Yeah, for example with perf record when you pass a command to launch and profile.
In any case I think it's a better idea to keep this as a default. Not breaking the pre-existing default completion in the guarantee that the new completion is going to be more useful than a burden.
> > diff --git a/tools/perf/bash_completion b/tools/perf/bash_completion > index 25f4d99..be97349 100644 > --- a/tools/perf/bash_completion > +++ b/tools/perf/bash_completion > @@ -17,7 +17,7 @@ _perf() > cmds=$(perf list --raw-dump) > COMPREPLY=( $( compgen -W '$cmds' -- $cur ) ) > # Fall down to list regular files > - else > + elif [[ $prev == "-o" || $prev == "-i" ]]; then > _filedir > fi > } && >
| |