From: Masami Hiramatsu <mhiramat@kernel.org>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: linux-kernel@vger.kernel.org, Tom Zanussi <zanussi@kernel.org>,
Masami Hiramatsu <mhiramat@kernel.org>
Subject: [PATCH v4 00/10] tracing/boot: Add histogram syntax support in boot-time tracing
Date: Tue, 10 Aug 2021 11:07:05 +0900 [thread overview]
Message-ID: <162856122550.203126.17607127017097781682.stgit@devnote2> (raw)
Hi,
Here is the 4th version of boot-time tracing to add histogram
syntax extension with a bugfix related hist-trigger.
The last version is here (NOTE: the subject version was wrong)
https://lore.kernel.org/lkml/162852406891.143877.12110677006587392853.stgit@devnote2/
This version fixes build warnings and some issues;
Changes from v3:
[2/10] - Add 'const' qualifier for @str parameter of append_str_nospace().
[5/10] - Fix to add braces for if block.
[8/10] - Fix to remove spaces in the expression for the variables.
Changes from v2:
[1/10] - Use IS_ENABLED() instead of #ifdef and show an error.
[2/10] - Allow var expression includes spaces.
[4/10] - Fixes a build error when CONFIG_HIST_TRIGGERS=n.
[10/10] - Newly added.
'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 | 302 ++++++++++++++++++++
tools/bootconfig/scripts/bconf2ftrace.sh | 101 +++++++
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, 513 insertions(+), 25 deletions(-)
--
Masami Hiramatsu (Linaro) <mhiramat@kernel.org>
next reply other threads:[~2021-08-10 2:07 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-10 2:07 Masami Hiramatsu [this message]
2021-08-10 2:07 ` [PATCH v4 01/10] tracing/boot: Fix a hist trigger dependency for boot time tracing Masami Hiramatsu
2021-08-10 2:07 ` [PATCH v4 02/10] tracing/boot: Add per-event histogram action options Masami Hiramatsu
2021-08-10 2:07 ` [PATCH v4 03/10] tracing/boot: Support multiple handlers for per-event histogram Masami Hiramatsu
2021-08-10 2:07 ` [PATCH v4 04/10] tracing/boot: Support multiple histograms for each event Masami Hiramatsu
2021-08-10 2:07 ` [PATCH v4 05/10] tracing/boot: Show correct histogram error command Masami Hiramatsu
2021-08-10 2:07 ` [PATCH v4 06/10] Documentation: tracing: Add histogram syntax to boot-time tracing Masami Hiramatsu
2021-08-10 2:07 ` [PATCH v4 07/10] tools/bootconfig: Support per-group/all event enabling option Masami Hiramatsu
2021-08-14 3:31 ` Masami Hiramatsu
2021-08-16 15:39 ` Steven Rostedt
2021-08-10 2:08 ` [PATCH v4 08/10] tools/bootconfig: Add histogram syntax support to bconf2ftrace.sh Masami Hiramatsu
2021-08-10 2:08 ` [PATCH v4 09/10] tools/bootconfig: Use per-group/all enable option in ftrace2bconf script Masami Hiramatsu
2021-08-10 2:08 ` [PATCH v4 10/10] bootconfig/tracing/ktest: Update ktest example for boot-time tracing Masami Hiramatsu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=162856122550.203126.17607127017097781682.stgit@devnote2 \
--to=mhiramat@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rostedt@goodmis.org \
--cc=zanussi@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox