diff mbox series

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

Message ID 20190507144946.7998-1-tstoyanov@vmware.com (mailing list archive)
State Accepted
Headers show
Series [v2] Documentation/trace: Add clarification how histogram onmatch works | expand

Commit Message

Tzvetomir Stoyanov May 7, 2019, 2:49 p.m. UTC
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@vmware.com>
---
 Documentation/trace/histogram.txt | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

Comments

Steven Rostedt May 8, 2019, 12:11 a.m. UTC | #1
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@goodmis.org>

-- Steve


On Tue,  7 May 2019 17:49:46 +0300
Tzvetomir Stoyanov <tstoyanov@vmware.com> 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@vmware.com>
> ---
>  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,\
Tom Zanussi May 8, 2019, 1:15 p.m. UTC | #2
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@goodmis.org>
> 

Reviewed-by: Tom Zanussi <tom.zanussi@linux.intel.com>

Thanks,

Tom

> -- Steve
> 
> 
> On Tue,  7 May 2019 17:49:46 +0300
> Tzvetomir Stoyanov <tstoyanov@vmware.com> 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@vmware.com>
> > ---
> >  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
> > ,\
> 
>
Steven Rostedt May 8, 2019, 4:18 p.m. UTC | #3
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@kernel.org> 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@goodmis.org>
> >   
> 
> Reviewed-by: Tom Zanussi <tom.zanussi@linux.intel.com>
> 
> Thanks,
> 
> Tom
> 
> > -- Steve
> > 
> > 
> > On Tue,  7 May 2019 17:49:46 +0300
> > Tzvetomir Stoyanov <tstoyanov@vmware.com> 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@vmware.com>
> > > ---
> > >  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
> > > ,\  
> > 
> >
Jonathan Corbet May 8, 2019, 4:22 p.m. UTC | #4
On Wed, 8 May 2019 12:18:54 -0400
Steven Rostedt <rostedt@goodmis.org> wrote:

> Jon,
> 
> Can you take this patch in your tree?

Will do.

jon
diff mbox series

Patch

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