Messages in this thread | | | Date | Tue, 12 Jan 2016 11:29:56 -0300 | From | Arnaldo Carvalho de Melo <> | Subject | Re: [PATCH] perf tools: Do not show trace command if it's not compiled in |
| |
Em Tue, Jan 12, 2016 at 12:23:41PM +0100, Ingo Molnar escreveu: > > * Jiri Olsa <jolsa@kernel.org> wrote: > > > The trace command still appears in help message when you > > run simple 'perf' command. > > > > It's because the generate-cmdlist.sh does not care about the > > HAVE_LIBAUDIT_SUPPORT dependency of trace command and puts > > it into generated common_cmds array. > > > > Wrapping trace command under HAVE_LIBAUDIT_SUPPORT dependency, > > which will exclude it from common_cmds array if HAVE_LIBAUDIT_SUPPORT > > is not set. > > Btw., would it make sense to still list them, but denote them as '[NOT BUILT IN]':
Yeah, just like we have:
$ make NO_DWARF=1 O=/tmp/build/perf -C tools/perf/ install make: Entering directory '/home/git/linux/tools/perf' BUILD: Doing 'make -j4' parallel build config/Makefile:328: DWARF support is off, BPF prologue is disabled SUBDIR Documentation ASCIIDOC /tmp/build/perf/perf-diff.xml CC /tmp/build/perf/util/abspath.o <SNIP>
$ perf record -h vm build
Usage: perf record [<options>] [<command>] or: perf record [<options>] -- <command> [<options>]
-B, --no-buildid do not collect buildids in perf.data -N, --no-buildid-cache do not update the buildid cache --vmlinux <file> vmlinux pathname (not built-in because NO_DWARF=1)
$
> The most commonly used perf commands are: > annotate Read perf.data (created by perf record) and display annotated code > archive Create archive with object files with build-ids found in perf.data file > bench General framework for benchmark suites > buildid-cache Manage build-id cache. > buildid-list List the buildids in a perf.data file > config Get and set variables in a configuration file. > data Data file related processing > diff Read perf.data files and display the differential profile > evlist List the event names in a perf.data file > inject Filter to augment the events stream with additional information > kmem Tool to trace/measure kernel memory properties > kvm Tool to trace/measure kvm guest os > list List all symbolic event types > lock Analyze lock events > mem Profile memory accesses > record Run a command and record its profile into perf.data > report Read perf.data (created by perf record) and display the profile > sched Tool to trace/measure scheduler properties (latencies) > script Read perf.data (created by perf record) and display trace output > stat Run a command and gather performance counter statistics > test Runs sanity tests. > timechart Tool to visualize total system behavior during a workload > top System profiling tool. > probe Define new dynamic tracepoints > trace [NOT BUILT IN] strace inspired tool > > ? > > ... and print something informative if someone tries to use it: > > triton:~/tip> perf trace > Error: The 'trace' subcommand is not built into this version of perf. > Solution: You can enable it by rebuilding perf with all required libraries installed. > > Instead of the rather misleading: > > triton:~/tip> perf trace > perf: 'trace' is not a perf-command. See 'perf --help'. > > (Plus once we grow a 'perf upgrade' command, we can suggest rebuilding via that > route.) > > Thanks, > > Ingo
| |