Messages in this thread | | | Date | Tue, 10 Aug 2021 08:38:22 +0900 | From | Masami Hiramatsu <> | Subject | Re: [PATCH v2 00/10] tracing/boot: Add histogram syntax support in boot-time tracing |
| |
Oops, I forgot to update the title. This is v3.
On Tue, 10 Aug 2021 00:47:49 +0900 Masami Hiramatsu <mhiramat@kernel.org> wrote:
> Hi, > > Here is the 3rd version of boot-time tracing to add histogram > syntax extension with a bugfix related hist-trigger. > > In this version, I updated the first bugfix to use IS_ENABLED() > and show error if CONFIG_HIST_TRIGGERS=n ([1/10]), allow the spaces > in the variable expressions ([2/10]), and update ktest bootconfig > testcase ([10/10]). > > > 'Histogram' options > ------------------- > Currently, the boot-time tracing only supports per-event actions > for setting trigger actions. This is enough for short actions > like 'traceon', 'traceoff', 'snapshot' etc. However, it is not good > for the 'hist' trigger action because it is usually too long to write > it in a single string especially if it has an 'onmatch' action. > > Here is the new syntax. > > ftrace[.instance.INSTANCE].event.GROUP.EVENT.hist[.N] { > keys = <KEY>[,...] > values = <VAL>[,...] > sort = <SORT-KEY>[,...] > size = <ENTRIES> > name = <HISTNAME> > var { <VAR> = <EXPR> ... } > pause|continue|clear > onmax|onchange[.M] { var = <VAR>, <ACTION> [= <PARAM>] } > onmatch[.M] { event = <EVENT>, <ACTION> [= <PARAM>] } > filter = <FILTER> > } > > Where <ACTION> is one of below; > > trace = <EVENT>, <ARG1>[, ...] > save = <ARG1>[, ...] > snapshot > > And "N" and "M" are digit started strings for multiple histograms > and actions. > > For example, > > initcall.initcall_finish.actions = > "hist:keys=func:lat=common_timestamp.usecs-$ts0:onmatch(initcall.initcall_start).trace(initcall_latency,func,$lat)" > > This can be written as below; > > initcall.initcall_finish.hist { > keys = func > var.lat = common_timestamp.usecs-$ts0 > onmatch { > event = initcall.initcall_start > trace = initcall_latency, func, $lat > } > } > > Also, you can add comments for each options. > > > Thank you, > > --- > > Masami Hiramatsu (10): > tracing/boot: Fix a hist trigger dependency for boot time tracing > tracing/boot: Add per-event histogram action options > tracing/boot: Support multiple handlers for per-event histogram > tracing/boot: Support multiple histograms for each event > tracing/boot: Show correct histogram error command > Documentation: tracing: Add histogram syntax to boot-time tracing > tools/bootconfig: Support per-group/all event enabling option > tools/bootconfig: Add histogram syntax support to bconf2ftrace.sh > tools/bootconfig: Use per-group/all enable option in ftrace2bconf script > bootconfig/tracing/ktest: Update ktest example for boot-time tracing > > > Documentation/trace/boottime-trace.rst | 85 +++++- > kernel/trace/trace_boot.c | 301 ++++++++++++++++++++ > tools/bootconfig/scripts/bconf2ftrace.sh | 97 ++++++ > tools/bootconfig/scripts/ftrace2bconf.sh | 24 +- > tools/bootconfig/scripts/xbc.sh | 4 > .../ktest/examples/bootconfigs/boottrace.bconf | 20 + > .../ktest/examples/bootconfigs/verify-boottrace.sh | 2 > 7 files changed, 508 insertions(+), 25 deletions(-) > > -- > Masami Hiramatsu (Linaro) <mhiramat@kernel.org>
-- Masami Hiramatsu <mhiramat@kernel.org>
| |