Add --group option to enable event grouping.  When enabled, all the
group members information will be shown with the leader so skip
non-leader events.
It only supports --stdio output currently.  Later patches will extend
additional features.
 $ perf annotate --group --stdio
 ...
  Percent                 |      Source code & Disassembly of libpthread-2.15.so
 --------------------------------------------------------------------------------
                          :
                          :
                          :
                          :      Disassembly of section .text:
                          :
                          :      000000387dc0aa50 <__pthread_mutex_unlock_usercnt>:
     8.08    2.40    5.29 :        387dc0aa50:   mov    %rdi,%rdx
     0.00    0.00    0.00 :        387dc0aa53:   mov    0x10(%rdi),%edi
     0.00    0.00    0.00 :        387dc0aa56:   mov    %edi,%eax
     0.00    0.80    0.00 :        387dc0aa58:   and    $0x7f,%eax
     3.03    2.40    3.53 :        387dc0aa5b:   test   $0x7c,%dil
     0.00    0.00    0.00 :        387dc0aa5f:   jne    387dc0aaa9 <__pthread_mutex_unlock_use
     0.00    0.00    0.00 :        387dc0aa61:   test   %eax,%eax
     0.00    0.00    0.00 :        387dc0aa63:   jne    387dc0aa85 <__pthread_mutex_unlock_use
     0.00    0.00    0.00 :        387dc0aa65:   and    $0x80,%edi
     0.00    0.00    0.00 :        387dc0aa6b:   test   %esi,%esi
     3.03    5.60    7.06 :        387dc0aa6d:   movl   $0x0,0x8(%rdx)
     0.00    0.00    0.59 :        387dc0aa74:   je     387dc0aa7a <__pthread_mutex_unlock_use
     0.00    0.00    0.00 :        387dc0aa76:   subl   $0x1,0xc(%rdx)
     2.02    5.60    1.18 :        387dc0aa7a:   mov    %edi,%esi
     0.00    0.00    0.00 :        387dc0aa7c:   lock decl (%rdx)
    83.84   83.20   82.35 :        387dc0aa7f:   jne    387dc0aada <_L_unlock_586>
     0.00    0.00    0.00 :        387dc0aa81:   nop
     0.00    0.00    0.00 :        387dc0aa82:   xor    %eax,%eax
     0.00    0.00    0.00 :        387dc0aa84:   retq
 ...
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1362462812-30885-6-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
		
	
			
		
			
				
	
	
		
			101 lines
		
	
	
	
		
			2.3 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
	
		
			2.3 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
perf-annotate(1)
 | 
						|
================
 | 
						|
 | 
						|
NAME
 | 
						|
----
 | 
						|
perf-annotate - Read perf.data (created by perf record) and display annotated code
 | 
						|
 | 
						|
SYNOPSIS
 | 
						|
--------
 | 
						|
[verse]
 | 
						|
'perf annotate' [-i <file> | --input=file] [symbol_name]
 | 
						|
 | 
						|
DESCRIPTION
 | 
						|
-----------
 | 
						|
This command reads the input file and displays an annotated version of the
 | 
						|
code. If the object file has debug symbols then the source code will be
 | 
						|
displayed alongside assembly code.
 | 
						|
 | 
						|
If there is no debug info in the object, then annotated assembly is displayed.
 | 
						|
 | 
						|
OPTIONS
 | 
						|
-------
 | 
						|
-i::
 | 
						|
--input=::
 | 
						|
        Input file name. (default: perf.data unless stdin is a fifo)
 | 
						|
 | 
						|
-d::
 | 
						|
--dsos=<dso[,dso...]>::
 | 
						|
        Only consider symbols in these dsos.
 | 
						|
-s::
 | 
						|
--symbol=<symbol>::
 | 
						|
        Symbol to annotate.
 | 
						|
 | 
						|
-f::
 | 
						|
--force::
 | 
						|
        Don't complain, do it.
 | 
						|
 | 
						|
-v::
 | 
						|
--verbose::
 | 
						|
        Be more verbose. (Show symbol address, etc)
 | 
						|
 | 
						|
-D::
 | 
						|
--dump-raw-trace::
 | 
						|
        Dump raw trace in ASCII.
 | 
						|
 | 
						|
-k::
 | 
						|
--vmlinux=<file>::
 | 
						|
        vmlinux pathname.
 | 
						|
 | 
						|
-m::
 | 
						|
--modules::
 | 
						|
        Load module symbols. WARNING: use only with -k and LIVE kernel.
 | 
						|
 | 
						|
-l::
 | 
						|
--print-line::
 | 
						|
        Print matching source lines (may be slow).
 | 
						|
 | 
						|
-P::
 | 
						|
--full-paths::
 | 
						|
        Don't shorten the displayed pathnames.
 | 
						|
 | 
						|
--stdio:: Use the stdio interface.
 | 
						|
 | 
						|
--tui:: Use the TUI interface. Use of --tui requires a tty, if one is not
 | 
						|
	present, as when piping to other commands, the stdio interface is
 | 
						|
	used. This interfaces starts by centering on the line with more
 | 
						|
	samples, TAB/UNTAB cycles through the lines with more samples.
 | 
						|
 | 
						|
--gtk:: Use the GTK interface.
 | 
						|
 | 
						|
-C::
 | 
						|
--cpu:: Only report samples for the list of CPUs provided. Multiple CPUs can
 | 
						|
	be provided as a comma-separated list with no space: 0,1. Ranges of
 | 
						|
	CPUs are specified with -: 0-2. Default is to report samples on all
 | 
						|
	CPUs.
 | 
						|
 | 
						|
--asm-raw::
 | 
						|
	Show raw instruction encoding of assembly instructions.
 | 
						|
 | 
						|
--source::
 | 
						|
	Interleave source code with assembly code. Enabled by default,
 | 
						|
	disable with --no-source.
 | 
						|
 | 
						|
--symfs=<directory>::
 | 
						|
        Look for files with symbols relative to this directory.
 | 
						|
 | 
						|
-M::
 | 
						|
--disassembler-style=:: Set disassembler style for objdump.
 | 
						|
 | 
						|
--objdump=<path>::
 | 
						|
        Path to objdump binary.
 | 
						|
 | 
						|
--skip-missing::
 | 
						|
	Skip symbols that cannot be annotated.
 | 
						|
 | 
						|
--group::
 | 
						|
	Show event group information together
 | 
						|
 | 
						|
SEE ALSO
 | 
						|
--------
 | 
						|
linkperf:perf-record[1], linkperf:perf-report[1]
 |