History

tracing/probes: Allow for dot delimiter as well as slash for system names

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/ Link: https://lkml.kernel.org/r/20210817035027.580493202@goodmis.org

Steven Rostedt (VMware) committed 5 years ago

Commit bc1b9731 parent fcd9db51 file · +3 −0Browse files

Unified · Split

kernel/trace/trace_probe.c+3−0
@@ -233,6 +233,9 @@ int traceprobe_parse_event_name(const char **pevent, const char **pgroup, · 232 unmodified lines
233233 int len;
234234
235235 slash = strchr(event, '/');
236+ if (!slash)
237+ slash = strchr(event, '.');
238+
236239 if (slash) {
237240 if (slash == event) {
238241 trace_probe_log_err(offset, NO_GROUP_NAME);