diff mbox series

[v6,4/7] tracing/probes: Allow for dot delimiter as well as slash for system names

Message ID 20210817035027.580493202@goodmis.org (mailing list archive)
State Superseded
Headers show
Series tracing: Creation of event probe | expand

Commit Message

Steven Rostedt Aug. 17, 2021, 3:42 a.m. UTC
From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

Kprobe and uprobe events can add a "system" to the events that are created
via the kprobe_events and uprobe_events files respectively. If they do not
include a "system" in the name, then the default "kprobes" or "uprobes" is
used. The current notation to specify a system for one of these probe
events is to add a '/' delimiter in the name, where the content before the
'/' will be the system to use, and the content after will be the event
name.

 echo 'p:my_system/my_event' > kprobe_events

But this is inconsistent with the way histogram triggers separate their
system / event names. The histogram triggers use a '.' delimiter, which
can be confusing.

To allow this to be more consistent, as well as keep backward
compatibility, allow the kprobe and uprobe events to denote a system name
with either a '/' or a '.'.

That is:

  echo 'p:my_system/my_event' > kprobe_events

is equivalent to:

  echo 'p:my_system.my_event' > kprobe_events

Link: https://lore.kernel.org/linux-trace-devel/20210813004448.51c7de69ce432d338f4d226b@kernel.org/

Suggested-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 kernel/trace/trace_probe.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Masami Hiramatsu (Google) Aug. 18, 2021, 10:57 a.m. UTC | #1
On Mon, 16 Aug 2021 23:42:59 -0400
Steven Rostedt <rostedt@goodmis.org> wrote:

> From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
> 
> Kprobe and uprobe events can add a "system" to the events that are created
> via the kprobe_events and uprobe_events files respectively. If they do not
> include a "system" in the name, then the default "kprobes" or "uprobes" is
> used. The current notation to specify a system for one of these probe
> events is to add a '/' delimiter in the name, where the content before the
> '/' will be the system to use, and the content after will be the event
> name.
> 
>  echo 'p:my_system/my_event' > kprobe_events
> 
> But this is inconsistent with the way histogram triggers separate their
> system / event names. The histogram triggers use a '.' delimiter, which
> can be confusing.
> 
> To allow this to be more consistent, as well as keep backward
> compatibility, allow the kprobe and uprobe events to denote a system name
> with either a '/' or a '.'.
> 
> That is:
> 
>   echo 'p:my_system/my_event' > kprobe_events
> 
> is equivalent to:
> 
>   echo 'p:my_system.my_event' > kprobe_events
> 
> Link: https://lore.kernel.org/linux-trace-devel/20210813004448.51c7de69ce432d338f4d226b@kernel.org/
> 

Yes, this is what I suggested :)

Acked-by: Masami Hiramatsu <mhiramat@kernel.org>

Thanks!


> Suggested-by: Masami Hiramatsu <mhiramat@kernel.org>
> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
> ---
>  kernel/trace/trace_probe.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/kernel/trace/trace_probe.c b/kernel/trace/trace_probe.c
> index ef717b373443..0916a9964719 100644
> --- a/kernel/trace/trace_probe.c
> +++ b/kernel/trace/trace_probe.c
> @@ -233,6 +233,9 @@ int traceprobe_parse_event_name(const char **pevent, const char **pgroup,
>  	int len;
>  
>  	slash = strchr(event, '/');
> +	if (!slash)
> +		slash = strchr(event, '.');
> +
>  	if (slash) {
>  		if (slash == event) {
>  			trace_probe_log_err(offset, NO_GROUP_NAME);
> -- 
> 2.30.2
diff mbox series

Patch

diff --git a/kernel/trace/trace_probe.c b/kernel/trace/trace_probe.c
index ef717b373443..0916a9964719 100644
--- a/kernel/trace/trace_probe.c
+++ b/kernel/trace/trace_probe.c
@@ -233,6 +233,9 @@  int traceprobe_parse_event_name(const char **pevent, const char **pgroup,
 	int len;
 
 	slash = strchr(event, '/');
+	if (!slash)
+		slash = strchr(event, '.');
+
 	if (slash) {
 		if (slash == event) {
 			trace_probe_log_err(offset, NO_GROUP_NAME);