Re: [PATCH v2] Documentation/trace: Add clarification how histogram onmatch works
From: Tom Zanussi
Date: Wed May 08 2019 - 09:16:30 EST
Hi Steve,
On Tue, 2019-05-07 at 20:11 -0400, Steven Rostedt wrote:
> Tom,
>
> Can you review this patch.
>
Sure.
> Jon,
>
> After Tom gives his review, can you take this in your tree?
>
> Thanks!
>
> Reviewed-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>
>
Reviewed-by: Tom Zanussi <tom.zanussi@xxxxxxxxxxxxxxx>
Thanks,
Tom
> -- 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/tr
> > igger
> >
> > 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
> > ,\
>
>