Re: [PATCH 0/2] tracing: Add a way to have custom events in the tracefs directory

From: Masami Hiramatsu
Date: Wed Mar 02 2022 - 20:31:13 EST


On Tue, 01 Mar 2022 22:24:14 -0500
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> We would like to have in production a way to record sched wakeups and
> sched switch, and be able to save the information in a small file
> with as much available as possible. Currently the wake up and sched switch
> events are 36 and 64 bytes each (plus a 4 byte ring buffer event header).
>
> By having a custom module tap into the sched switch and waking trace points
> we can bring those events down to 16 and 14 bytes respectively.

OK, so we can use eprobe to shrink down the 'visible' log for the event,
but it still consumes the event buffer because eprobe will fetch the event
data from the event log. So to reduce the actual consumption of the
trace buffer, we have to define a new event format and callback.

Thank you,

>
> Steven Rostedt (Google) (2):
> tracing: Allow custom events to be added to the tracefs directory
> tracing: Add sample code for custom trace events
>
> ----
> kernel/trace/trace_events.c | 2 +
> samples/Kconfig | 8 +-
> samples/Makefile | 1 +
> samples/trace_events/Makefile | 2 +
> samples/trace_events/trace_custom_sched.c | 280 ++++++++++++++++++++++++++++++
> 5 files changed, 292 insertions(+), 1 deletion(-)
> create mode 100644 samples/trace_events/trace_custom_sched.c


--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>