[PATCH v5 0/6] tracing/hist: Add percentage histogram suffixes

Masami Hiramatsu (Google) posted 6 patches 3 years, 7 months ago
There is a newer version of this series
Documentation/trace/histogram.rst   |   10 ++
kernel/trace/trace.c                |    7 +
kernel/trace/trace_events_hist.c    |  177 ++++++++++++++++++++++++++++++-----
kernel/trace/trace_events_trigger.c |    3 -
4 files changed, 171 insertions(+), 26 deletions(-)
[PATCH v5 0/6] tracing/hist: Add percentage histogram suffixes
Posted by Masami Hiramatsu (Google) 3 years, 7 months ago
Hi,

Here is the 5th version of .percent and .graph suffixes for histogram
trigger to show the value in percentage and in bar-graph respectively.
The previous version is here;

https://lore.kernel.org/all/166157298537.348924.2537162090505397377.stgit@devnote2

This version updated the last patch to add "nohitcount" option for
supressing display of hitcount according to Tom's suggestion[5/6],
fix README file[4/6], and update the histogram document[6/6].

This will help us to check the trend of the histogram instantly
without any post processing tool.

Here shows an example of the percentage and the bar graph of
the runtime of the running tasks without raw hitcount field.

  # cd /sys/kernel/debug/tracing/
  # echo hist:keys=pid:vals=hitcount.percent,hitcount.graph:sort=pid:NOHC > \
        events/sched/sched_stat_runtime/trigger
  # sleep 10
  # cat events/sched/sched_stat_runtime/hist
 # event histogram
 #
 # trigger info: hist:keys=pid:vals=hitcount.percent,hitcount.graph:sort=pid:size=2048:nohitcount [active]
 #
 
 { pid:         14 }  hitcount (%):   6.91  hitcount: ##                  
 { pid:         16 }  hitcount (%):   1.13  hitcount:                     
 { pid:         57 }  hitcount (%):   6.99  hitcount: ##                  
 { pid:         61 }  hitcount (%):  55.28  hitcount: ####################
 { pid:         67 }  hitcount (%):   5.52  hitcount: ##                  
 { pid:         69 }  hitcount (%):  20.08  hitcount: #######             
 { pid:         71 }  hitcount (%):   0.40  hitcount:                     
 { pid:         77 }  hitcount (%):   0.97  hitcount:                     
 { pid:         78 }  hitcount (%):   0.56  hitcount:                     
 { pid:        145 }  hitcount (%):   1.13  hitcount:                     
 { pid:        153 }  hitcount (%):   0.48  hitcount:                     
 { pid:        154 }  hitcount (%):   0.48  hitcount:                     
 
 Totals:
     Hits: 1230
     Entries: 12
     Dropped: 0


With the NOHC (or nohitcount) option, the histogram will skip
display of raw hitcount, but it will allow to display percent
and graph of hitcount.

Trigger                      Result
val=runtime               -> Show hitcount and runtime
val=runtime:NOHC          -> Show runtime
val=hitcount:NOHC         -> Error
(noval)                   -> show hitcount
(noval):NOHC              -> Error
val=hitcount.parcent      -> show hitcount and hitcount%
val=hitcount.parcent:NOHC -> show hitcount%

Thank you,

---

Masami Hiramatsu (Google) (5):
      tracing: Fix to check event_mutex is held while accessing trigger list
      tracing: Add .percent suffix option to histogram values
      tracing: Add .graph suffix option to histogram value
      tracing: Add nohitcount option for suppressing display of raw hitcount
      tracing: docs: Update histogram doc for .percent/.graph and 'nohitcount'

Tom Zanussi (1):
      tracing: Allow multiple hitcount values in histograms


 Documentation/trace/histogram.rst   |   10 ++
 kernel/trace/trace.c                |    7 +
 kernel/trace/trace_events_hist.c    |  177 ++++++++++++++++++++++++++++++-----
 kernel/trace/trace_events_trigger.c |    3 -
 4 files changed, 171 insertions(+), 26 deletions(-)

--
Masami Hiramatsu (Google) <mhiramat@kernel.org>
Re: [PATCH v5 0/6] tracing/hist: Add percentage histogram suffixes
Posted by Tom Zanussi 3 years, 6 months ago
Hi Masami,

On Sun, 2022-09-04 at 13:12 +0900, Masami Hiramatsu (Google) wrote:
> Hi,
> 
> Here is the 5th version of .percent and .graph suffixes for histogram
> trigger to show the value in percentage and in bar-graph
> respectively.
> The previous version is here;
> 
> https://lore.kernel.org/all/166157298537.348924.2537162090505397377.stgit@devnote2
> 
> This version updated the last patch to add "nohitcount" option for
> supressing display of hitcount according to Tom's suggestion[5/6],
> fix README file[4/6], and update the histogram document[6/6].
> 
> This will help us to check the trend of the histogram instantly
> without any post processing tool.
> 
> Here shows an example of the percentage and the bar graph of
> the runtime of the running tasks without raw hitcount field.
> 
>   # cd /sys/kernel/debug/tracing/
>   # echo
> hist:keys=pid:vals=hitcount.percent,hitcount.graph:sort=pid:NOHC > \
>         events/sched/sched_stat_runtime/trigger
>   # sleep 10
>   # cat events/sched/sched_stat_runtime/hist
>  # event histogram
>  #
>  # trigger info:
> hist:keys=pid:vals=hitcount.percent,hitcount.graph:sort=pid:size=2048
> :nohitcount [active]
>  #
>  
>  { pid:         14 }  hitcount (%):   6.91  hitcount:
> ##                  
>  { pid:         16 }  hitcount (%):   1.13 
> hitcount:                     
>  { pid:         57 }  hitcount (%):   6.99  hitcount:
> ##                  
>  { pid:         61 }  hitcount (%):  55.28  hitcount:
> ####################
>  { pid:         67 }  hitcount (%):   5.52  hitcount:
> ##                  
>  { pid:         69 }  hitcount (%):  20.08  hitcount:
> #######             
>  { pid:         71 }  hitcount (%):   0.40 
> hitcount:                     
>  { pid:         77 }  hitcount (%):   0.97 
> hitcount:                     
>  { pid:         78 }  hitcount (%):   0.56 
> hitcount:                     
>  { pid:        145 }  hitcount (%):   1.13 
> hitcount:                     
>  { pid:        153 }  hitcount (%):   0.48 
> hitcount:                     
>  { pid:        154 }  hitcount (%):   0.48 
> hitcount:                     
>  
>  Totals:
>      Hits: 1230
>      Entries: 12
>      Dropped: 0
> 
> 
> With the NOHC (or nohitcount) option, the histogram will skip
> display of raw hitcount, but it will allow to display percent
> and graph of hitcount.
> 
> Trigger                      Result
> val=runtime               -> Show hitcount and runtime
> val=runtime:NOHC          -> Show runtime
> val=hitcount:NOHC         -> Error
> (noval)                   -> show hitcount
> (noval):NOHC              -> Error
> val=hitcount.parcent      -> show hitcount and hitcount%
> val=hitcount.parcent:NOHC -> show hitcount%

It all looks good to me, thanks!  For the whole set:

Reviewed-by: Tom Zanussi <zanussi@kernel.org>
Tested-by: Tom Zanussi <zanussi@kernel.org>

Tom



> 
> Thank you,
> 
> ---
> 
> Masami Hiramatsu (Google) (5):
>       tracing: Fix to check event_mutex is held while accessing
> trigger list
>       tracing: Add .percent suffix option to histogram values
>       tracing: Add .graph suffix option to histogram value
>       tracing: Add nohitcount option for suppressing display of raw
> hitcount
>       tracing: docs: Update histogram doc for .percent/.graph and
> 'nohitcount'
> 
> Tom Zanussi (1):
>       tracing: Allow multiple hitcount values in histograms
> 
> 
>  Documentation/trace/histogram.rst   |   10 ++
>  kernel/trace/trace.c                |    7 +
>  kernel/trace/trace_events_hist.c    |  177
> ++++++++++++++++++++++++++++++-----
>  kernel/trace/trace_events_trigger.c |    3 -
>  4 files changed, 171 insertions(+), 26 deletions(-)
> 
> --
> Masami Hiramatsu (Google) <mhiramat@kernel.org>