Hi Arnaldo, Are we ready to merge this serias now? Thanks. :) On Sat, Jul 18, 2020 at 02:48:08PM +0800, Changbin Du wrote: > The perf has basic kernel ftrace support but lack support of most tracing > options. This serias is target to enhance the perf ftrace functionality so > that we can make full use of kernel ftrace with perf. > > In general, this serias be cataloged into two main changes: > 1) Improve usability of existing functions. For example, we don't need to > type > extra option to select the tracer. > 2) Add new options to support all other ftrace functions. > > Here is a glance of all ftrace functions with this serias: > > $ sudo perf ftrace -h > > Usage: perf ftrace [<options>] [<command>] > or: perf ftrace [<options>] -- <command> [<options>] > > -a, --all-cpus system-wide collection from all CPUs > -C, --cpu <cpu> list of cpus to monitor > -D, --delay <n> ms to wait before starting tracing after program > start > -F, --funcs Show available functions to filter > -G, --graph-funcs <func> > trace given functions using function_graph tracer > -g, --nograph-funcs <func> > Set nograph filter on given functions > -m, --buffer-size <size> > size of per cpu buffer > -N, --notrace-funcs <func> > do not trace given functions > -p, --pid <pid> trace on existing process id > -T, --trace-funcs <func> > trace given functions using function tracer > -t, --tracer <tracer> > tracer to use: function or function_graph (This > option is deprecated) > -v, --verbose be more verbose > --func-opts <options> > function tracer options, available options: > call-graph,irq-info > --graph-opts <options> > graph tracer options, available options: > nosleep-time,noirqs,verbose,thresh=<n>,depth=<n> > --inherit trace children processes > --tid <tid> trace on existing thread id (exclusive to --pid) > > v7: > o add back '--tid <tid>'. > v6: > o fix return value of read_tracing_file_to_stdout(). > o make __cmd_ftrace() shorter. > o remove option '-t, --tid <tid>'. > v5: > o trivial fixes. > v4: > o add util/parse-sublevel-options.c > O remove -D/--graph-depth > v3: > o add --func-opts and --graph-opts to set tracer specific options. > o support units as a suffix for option '-m/--buffer-size'. > v2: > o patches for option '-u/--userstacktrace' and '--no-pager' are dropped. > o update all related perf documentation. > o rename some options. Now all funcgraph tracer options are prefixed with > '--graph-', while all function tracer options are prefixed with '--func-'. > o mark old options deprecated instead of removing them. > > > Changbin Du (18): > perf ftrace: select function/function_graph tracer automatically > perf ftrace: add option '-F/--funcs' to list available functions > perf ftrace: factor out function write_tracing_file_int() > perf ftrace: add option '-m/--buffer-size' to set per-cpu buffer size > perf ftrace: show trace column header > perf ftrace: add option '--inherit' to trace children processes > perf: util: add general function to parse sublevel options > perf ftrace: add support for tracing option 'func_stack_trace' > perf ftrace: add support for trace option sleep-time > perf ftrace: add support for trace option funcgraph-irqs > perf ftrace: add support for tracing option 'irq-info' > perf ftrace: add option 'verbose' to show more info for graph tracer > perf ftrace: add support for trace option tracing_thresh > perf: ftrace: allow set graph depth by '--graph-opts' > perf ftrace: add option -D/--delay to delay tracing > perf ftrace: add option --tid to filter by thread id > perf: ftrace: Add set_tracing_options() to set all trace options > perf ftrace: add change log > > tools/perf/Documentation/perf-config.txt | 5 - > tools/perf/Documentation/perf-ftrace.txt | 36 +- > tools/perf/builtin-ftrace.c | 415 +++++++++++++++++++++-- > tools/perf/util/Build | 1 + > tools/perf/util/debug.c | 61 +--- > tools/perf/util/parse-sublevel-options.c | 70 ++++ > tools/perf/util/parse-sublevel-options.h | 11 + > 7 files changed, 513 insertions(+), 86 deletions(-) > create mode 100644 tools/perf/util/parse-sublevel-options.c > create mode 100644 tools/perf/util/parse-sublevel-options.h > > -- > 2.25.1 >
-- Cheers, Changbin Du