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

From: Steven Rostedt
Date: Wed May 08 2019 - 12:20:01 EST



Jon,

Can you take this patch in your tree?

Tom,

Thanks for the review!

-- Steve


On Wed, 08 May 2019 08:15:26 -0500
Tom Zanussi <zanussi@xxxxxxxxxx> wrote:

> 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
> > > ,\
> >
> >