Re: [RFC 00/22] perf tools: Display tracepoint enahncements

2014-02-05 Thread Jiri Olsa
On Wed, Feb 05, 2014 at 10:40:42AM +0900, Namhyung Kim wrote:
> On Sun, 2 Feb 2014 22:45:50 +0100, Jiri Olsa wrote:
> > On Sun, Feb 02, 2014 at 10:38:48PM +0100, Jiri Olsa wrote:
> >> hi,
> >> sending out tracepoint (mostly) events display enahncements.
> >
> > forgot to mention.. the branch is in here:
> >   git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git
> >   perf/core_tp
> 
> It's segfaulted with --group --tui option since the hpp->ptr is not
> setup to point an evsel.  Not sure whose problem.. ;-)

will check ;-) thanks

jirka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC 00/22] perf tools: Display tracepoint enahncements

2014-02-04 Thread Namhyung Kim
On Sun,  2 Feb 2014 22:38:48 +0100, Jiri Olsa wrote:
> hi,
> sending out tracepoint (mostly) events display enahncements.
>
> * adding the '--tp' option for report command to show
>   tracepoint related info. Use can specify following switches:
> fields: shows separated tracepoint fields
> format: shows tracepoints 'print fmt' in single column
>  (This is default if no switch is given.)

Looks like an useful feature.. but unfortunately it seems not to work
well with --children and (especially) --group options.  Do you have an
idea?

Also as Ingo requested I plan to extend controlling output column with
-F/--field option.  I think I need to more consideration..

Thanks,
Namhyung


>
>   $ perf report --tp --no-children
>   Samples: 4K of event 'sched:sched_switch', Event count (approx.): 4788
>Overhead  Command  Shared Object  Symbol  Print fmt
>   +  26.27%  swapper  [kernel.kallsyms]  [k] __schedule  swapper/2:0 
> [120] R ==> offlineimap:22134 [120]
>   +  26.27%  offlineimap  [kernel.kallsyms]  [k] __schedule  
> offlineimap:22134 [120] S ==> swapper/2:0 [120]
>   -   8.15%  swapper  [kernel.kallsyms]  [k] __schedule  swapper/3:0 
> [120] R ==> offlineimap:22134 [120]
>__schedule
>schedule_preempt_disabled
>cpu_startup_entry
>start_secondary
>   +   8.15%  offlineimap  [kernel.kallsyms]  [k] __schedule  
> offlineimap:22134 [120] S ==> swapper/3:0 [120]
>
>   $ perf report --tp=fields --no-children
>   Samples: 4K of event 'sched:sched_switch', Event count (approx.): 4788
> Overhead  Command  Shared Object  Symbol  
>  prev_commprev_pid   prev_prio  prev_state
>next_commnext_pid   next_prio
>   +   26.27%  swapper  [kernel.kallsyms]  [k] __schedule  
>  swapper/2   0 120   0
>  offlineimap   22134 120
>   +   26.27%  offlineimap  [kernel.kallsyms]  [k] __schedule  
>offlineimap   22134 120   1
>swapper/2   0 120
>   -8.15%  swapper  [kernel.kallsyms]  [k] __schedule  
>  swapper/3   0 120   0
>  offlineimap   22134 120
>__schedule
>schedule_preempt_disabled
>cpu_startup_entry
>start_secondary
>   +8.15%  offlineimap  [kernel.kallsyms]  [k] __schedule  
>offlineimap   22134 120   1
>swapper/3   0 120
>
>
> * adding '--list' report option to display entries sequentialy:
>
>   Samples: 2K of event 'sched:sched_switch', Event count (approx.): 2450
> Self  Children  Time  Command 
>Shared Object  
>  Symbol  Print fmt
>   +0.04% 0.04%9582.431783 +00.00  swapper  
> [kernel.kallsyms][k] __schedule   
> swapper/1:0 [120] R ==> perf:11168 [120]
>   -0.00% 0.04%9582.431783 +00.00  swapper  
> [kernel.kallsyms][k] __schedule   
> swapper/1:0 [120] R ==> perf:11168 [120]
>__schedule
>schedule
>cpu_idle
>start_secondary
>   +0.00% 0.04%9582.431783 +00.00  swapper  
> [kernel.kallsyms][k] schedule 
> swapper/1:0 [120] R ==> perf:11168 [120]
>   +0.00% 0.04%9582.431783 +00.00  swapper  
> [kernel.kallsyms][k] cpu_idle 
> swapper/1:0 [120] R ==> perf:11168 [120]
>
> * adding 'H' key handler to togle header columns
>
>
> thanks for comments,
> jirka
>
>
> Signed-off-by: Jiri Olsa 
> Cc: Corey Ashford 
> Cc: Frederic Weisbecker 
> Cc: Ingo Molnar 
> Cc: Namhyung Kim 
> Cc: Paul Mackerras 
> Cc: Peter Zijlstra 
> Cc: Arnaldo Carvalho de Melo 
> Cc: Steven Rostedt 
> Cc: David Ahern 
> ---
> Jiri Olsa (22):
>   perf tools: Fix memory leak in event_format__print function
>   perf tools: Add time sort entry
>   perf tools: Add idx sort entry
>   perf tools: Add --list report option
>   perf tools: Add sort_entry struct into sort entries callbacks
>   perf tools: Add selected bool into se_snprintf sort entries callback
>   perf tools: Implement selected bool se_snprintf callback logic
>   perf tools: Implement selected logic for time sort entry
>   perf tools: Factor ui_browser ops out of ui_browser struct
>   perf tools: Add header callback into ui_browser_ops struct
>   perf tools: Remove ev_name argument

Re: [RFC 00/22] perf tools: Display tracepoint enahncements

2014-02-04 Thread Namhyung Kim
On Sun, 2 Feb 2014 22:45:50 +0100, Jiri Olsa wrote:
> On Sun, Feb 02, 2014 at 10:38:48PM +0100, Jiri Olsa wrote:
>> hi,
>> sending out tracepoint (mostly) events display enahncements.
>
> forgot to mention.. the branch is in here:
>   git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git
>   perf/core_tp

It's segfaulted with --group --tui option since the hpp->ptr is not
setup to point an evsel.  Not sure whose problem.. ;-)

Thanks,
Namhyung
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[RFC 00/22] perf tools: Display tracepoint enahncements

2014-02-02 Thread Jiri Olsa
hi,
sending out tracepoint (mostly) events display enahncements.

* adding the '--tp' option for report command to show
  tracepoint related info. Use can specify following switches:
fields: shows separated tracepoint fields
format: shows tracepoints 'print fmt' in single column
 (This is default if no switch is given.)

  $ perf report --tp --no-children
  Samples: 4K of event 'sched:sched_switch', Event count (approx.): 4788
   Overhead  Command  Shared Object  Symbol  Print fmt
  +  26.27%  swapper  [kernel.kallsyms]  [k] __schedule  swapper/2:0 
[120] R ==> offlineimap:22134 [120]
  +  26.27%  offlineimap  [kernel.kallsyms]  [k] __schedule  
offlineimap:22134 [120] S ==> swapper/2:0 [120]
  -   8.15%  swapper  [kernel.kallsyms]  [k] __schedule  swapper/3:0 
[120] R ==> offlineimap:22134 [120]
   __schedule
   schedule_preempt_disabled
   cpu_startup_entry
   start_secondary
  +   8.15%  offlineimap  [kernel.kallsyms]  [k] __schedule  
offlineimap:22134 [120] S ==> swapper/3:0 [120]

  $ perf report --tp=fields --no-children
  Samples: 4K of event 'sched:sched_switch', Event count (approx.): 4788
Overhead  Command  Shared Object  Symbol
   prev_commprev_pid   prev_prio  prev_state
   next_commnext_pid   next_prio
  +   26.27%  swapper  [kernel.kallsyms]  [k] __schedule
   swapper/2   0 120   0
 offlineimap   22134 120
  +   26.27%  offlineimap  [kernel.kallsyms]  [k] __schedule
 offlineimap   22134 120   1
   swapper/2   0 120
  -8.15%  swapper  [kernel.kallsyms]  [k] __schedule
   swapper/3   0 120   0
 offlineimap   22134 120
   __schedule
   schedule_preempt_disabled
   cpu_startup_entry
   start_secondary
  +8.15%  offlineimap  [kernel.kallsyms]  [k] __schedule
 offlineimap   22134 120   1
   swapper/3   0 120


* adding '--list' report option to display entries sequentialy:

  Samples: 2K of event 'sched:sched_switch', Event count (approx.): 2450
Self  Children  Time  Command   
 Shared Object   
Symbol  Print fmt
  +0.04% 0.04%9582.431783 +00.00  swapper  
[kernel.kallsyms][k] __schedule 
  swapper/1:0 [120] R ==> perf:11168 [120]
  -0.00% 0.04%9582.431783 +00.00  swapper  
[kernel.kallsyms][k] __schedule 
  swapper/1:0 [120] R ==> perf:11168 [120]
   __schedule
   schedule
   cpu_idle
   start_secondary
  +0.00% 0.04%9582.431783 +00.00  swapper  
[kernel.kallsyms][k] schedule   
  swapper/1:0 [120] R ==> perf:11168 [120]
  +0.00% 0.04%9582.431783 +00.00  swapper  
[kernel.kallsyms][k] cpu_idle   
  swapper/1:0 [120] R ==> perf:11168 [120]

* adding 'H' key handler to togle header columns


thanks for comments,
jirka


Signed-off-by: Jiri Olsa 
Cc: Corey Ashford 
Cc: Frederic Weisbecker 
Cc: Ingo Molnar 
Cc: Namhyung Kim 
Cc: Paul Mackerras 
Cc: Peter Zijlstra 
Cc: Arnaldo Carvalho de Melo 
Cc: Steven Rostedt 
Cc: David Ahern 
---
Jiri Olsa (22):
  perf tools: Fix memory leak in event_format__print function
  perf tools: Add time sort entry
  perf tools: Add idx sort entry
  perf tools: Add --list report option
  perf tools: Add sort_entry struct into sort entries callbacks
  perf tools: Add selected bool into se_snprintf sort entries callback
  perf tools: Implement selected bool se_snprintf callback logic
  perf tools: Implement selected logic for time sort entry
  perf tools: Factor ui_browser ops out of ui_browser struct
  perf tools: Add header callback into ui_browser_ops struct
  perf tools: Remove ev_name argument from perf_evsel__hists_browse
  perf tools: Add header callback to hist browser
  perf tools: Factor hpp_arg struct to carry hist_browser
  perf tools tui: Display columns header text on 'H' press
  tools lib traceevent: Factor print_event_fields function
  tools lib traceevent: Make the name output optional in pevent_field_info
  tools lib traceevent: Add pevent_field_cmp function
  perf tools: Factor sort entries loops
  perf tools: Add local hists sort entry list
  perf tools: Make hists col_len dy

Re: [RFC 00/22] perf tools: Display tracepoint enahncements

2014-02-02 Thread Jiri Olsa
On Sun, Feb 02, 2014 at 10:38:48PM +0100, Jiri Olsa wrote:
> hi,
> sending out tracepoint (mostly) events display enahncements.

forgot to mention.. the branch is in here:
  git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git
  perf/core_tp

and it's based on namhyuung's perf/cumulate-v7 branch

jirka
> 
> * adding the '--tp' option for report command to show
>   tracepoint related info. Use can specify following switches:
> fields: shows separated tracepoint fields
> format: shows tracepoints 'print fmt' in single column
>  (This is default if no switch is given.)
> 
>   $ perf report --tp --no-children
>   Samples: 4K of event 'sched:sched_switch', Event count (approx.): 4788
>Overhead  Command  Shared Object  Symbol  Print fmt
>   +  26.27%  swapper  [kernel.kallsyms]  [k] __schedule  swapper/2:0 
> [120] R ==> offlineimap:22134 [120]
>   +  26.27%  offlineimap  [kernel.kallsyms]  [k] __schedule  
> offlineimap:22134 [120] S ==> swapper/2:0 [120]
>   -   8.15%  swapper  [kernel.kallsyms]  [k] __schedule  swapper/3:0 
> [120] R ==> offlineimap:22134 [120]
>__schedule
>schedule_preempt_disabled
>cpu_startup_entry
>start_secondary
>   +   8.15%  offlineimap  [kernel.kallsyms]  [k] __schedule  
> offlineimap:22134 [120] S ==> swapper/3:0 [120]
> 
>   $ perf report --tp=fields --no-children
>   Samples: 4K of event 'sched:sched_switch', Event count (approx.): 4788
> Overhead  Command  Shared Object  Symbol  
>  prev_commprev_pid   prev_prio  prev_state
>next_commnext_pid   next_prio
>   +   26.27%  swapper  [kernel.kallsyms]  [k] __schedule  
>  swapper/2   0 120   0
>  offlineimap   22134 120
>   +   26.27%  offlineimap  [kernel.kallsyms]  [k] __schedule  
>offlineimap   22134 120   1
>swapper/2   0 120
>   -8.15%  swapper  [kernel.kallsyms]  [k] __schedule  
>  swapper/3   0 120   0
>  offlineimap   22134 120
>__schedule
>schedule_preempt_disabled
>cpu_startup_entry
>start_secondary
>   +8.15%  offlineimap  [kernel.kallsyms]  [k] __schedule  
>offlineimap   22134 120   1
>swapper/3   0 120
> 
> 
> * adding '--list' report option to display entries sequentialy:
> 
>   Samples: 2K of event 'sched:sched_switch', Event count (approx.): 2450
> Self  Children  Time  Command 
>Shared Object  
>  Symbol  Print fmt
>   +0.04% 0.04%9582.431783 +00.00  swapper  
> [kernel.kallsyms][k] __schedule   
> swapper/1:0 [120] R ==> perf:11168 [120]
>   -0.00% 0.04%9582.431783 +00.00  swapper  
> [kernel.kallsyms][k] __schedule   
> swapper/1:0 [120] R ==> perf:11168 [120]
>__schedule
>schedule
>cpu_idle
>start_secondary
>   +0.00% 0.04%9582.431783 +00.00  swapper  
> [kernel.kallsyms][k] schedule 
> swapper/1:0 [120] R ==> perf:11168 [120]
>   +0.00% 0.04%9582.431783 +00.00  swapper  
> [kernel.kallsyms][k] cpu_idle 
> swapper/1:0 [120] R ==> perf:11168 [120]
> 
> * adding 'H' key handler to togle header columns
> 
> 
> thanks for comments,
> jirka
> 
> 
> Signed-off-by: Jiri Olsa 
> Cc: Corey Ashford 
> Cc: Frederic Weisbecker 
> Cc: Ingo Molnar 
> Cc: Namhyung Kim 
> Cc: Paul Mackerras 
> Cc: Peter Zijlstra 
> Cc: Arnaldo Carvalho de Melo 
> Cc: Steven Rostedt 
> Cc: David Ahern 
> ---
> Jiri Olsa (22):
>   perf tools: Fix memory leak in event_format__print function
>   perf tools: Add time sort entry
>   perf tools: Add idx sort entry
>   perf tools: Add --list report option
>   perf tools: Add sort_entry struct into sort entries callbacks
>   perf tools: Add selected bool into se_snprintf sort entries callback
>   perf tools: Implement selected bool se_snprintf callback logic
>   perf tools: Implement selected logic for time sort entry
>   perf tools: Factor ui_browser ops out of ui_browser struct
>   perf tools: Add header callback into ui_browser_ops struct
>   perf tools: Remove ev_name argument from perf_evsel__hists_browse
>   perf tools: Add header callback to hist browser
>   per