Re: [PATCH v7 00/18] perf: ftrace enhancement

From: Arnaldo Carvalho de Melo
Date: Fri Jul 31 2020 - 18:42:47 EST




On July 31, 2020 2:35:20 PM GMT-03:00, Changbin Du <changbin.du@xxxxxxxxx> wrote:
>Hi Arnaldo,
>Are we ready to merge this serias now Thanks. :)


Next week I'll be in vacation, do I'll have more time for upstream stuff,

- Arnaldo


>
>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
>>

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.