Re: [PATCH v2] Documentation/trace: Add clarification how histogram onmatch works

From: Steven Rostedt
Date: Tue May 07 2019 - 20:12:57 EST



Tom,

Can you review this patch.

Jon,

After Tom gives his review, can you take this in your tree?

Thanks!

Reviewed-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>

-- Steve


On Tue, 7 May 2019 17:49:46 +0300
Tzvetomir Stoyanov <tstoyanov@xxxxxxxxxx> wrote:

> The current trace documentation, the section describing histogram's "onmatch"
> is not straightforward enough about how this action is applied. It is not
> clear what criteria are used to "match" both events. A short note is added,
> describing what exactly is compared in order to match the events.
>
> Signed-off-by: Tzvetomir Stoyanov <tstoyanov@xxxxxxxxxx>
> ---
> Documentation/trace/histogram.txt | 12 ++++++++----
> 1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/trace/histogram.txt b/Documentation/trace/histogram.txt
> index 7ffea6aa22e3..d97f0530a731 100644
> --- a/Documentation/trace/histogram.txt
> +++ b/Documentation/trace/histogram.txt
> @@ -1863,7 +1863,10 @@ hist trigger specification.
>
> The 'matching.event' specification is simply the fully qualified
> event name of the event that matches the target event for the
> - onmatch() functionality, in the form 'system.event_name'.
> + onmatch() functionality, in the form 'system.event_name'. Histogram
> + keys of both events are compared to find if events match. In the case
> + multiple histogram keys are used, both events must have the same
> + number of keys, and the keys must match in the same order.
>
> Finally, the number and type of variables/fields in the 'param
> list' must match the number and types of the fields in the
> @@ -1920,9 +1923,10 @@ hist trigger specification.
> /sys/kernel/debug/tracing/events/sched/sched_waking/trigger
>
> Then, when the corresponding thread is actually scheduled onto the
> - CPU by a sched_switch event, calculate the latency and use that
> - along with another variable and an event field to generate a
> - wakeup_latency synthetic event:
> + CPU by a sched_switch event (where the sched_waking key "saved_pid"
> + matches the sched_switch key "next_pid"), calculate the latency and
> + use that along with another variable and an event field to generate
> + a wakeup_latency synthetic event:
>
> # echo 'hist:keys=next_pid:wakeup_lat=common_timestamp.usecs-$ts0:\
> onmatch(sched.sched_waking).wakeup_latency($wakeup_lat,\