perf: Add perf-probe document
[linux-2.6.git] / tools / perf / Documentation / perf-probe.txt
1 perf-probe(1)
2 =============
3
4 NAME
5 ----
6 perf-probe - Define new dynamic tracepoints
7
8 SYNOPSIS
9 --------
10 [verse]
11 'perf probe' [-k <file>] -P 'PROBE' [-P 'PROBE' ...]
12
13
14 DESCRIPTION
15 -----------
16 This command defines dynamic tracepoint events, by symbol and registers
17 without debuginfo, or by C expressions (C line numbers, C function names,
18 and C local variables) with debuginfo.
19
20
21 OPTIONS
22 -------
23 -k::
24 --vmlinux::
25         Specify vmlinux path which has debuginfo (Dwarf binary).
26
27 -v::
28 --verbose::
29         Be more verbose (show parsed arguments, etc).
30
31 -P::
32 --probe::
33         Define a probe point (see PROBE SYNTAX for detail)
34
35 PROBE SYNTAX
36 ------------
37 Probe points are defined by following syntax.
38
39  "TYPE:[GRP/]NAME FUNC[+OFFS][@SRC]|@SRC:LINE [ARG ...]"
40
41 'TYPE' specifies the type of probe point, you can use either "p" (kprobe) or "r" (kretprobe) for 'TYPE'. 'GRP' specifies the group name of this probe, and 'NAME' specifies the event name. If 'GRP' is omitted, "kprobes" is used for its group name.
42 'FUNC' and 'OFFS' specifies function and offset (in byte) where probe will be put. In addition, 'SRC' specifies a source file which has that function (this is mainly for inline functions).
43 You can specify a probe point by the source line number by using '@SRC:LINE' syntax, where 'SRC' is the source file path and 'LINE' is the line number.
44 'ARG' specifies the arguments of this probe point. You can use the name of local variable, or kprobe-tracer argument format (e.g. $retval, %ax, etc).
45
46 SEE ALSO
47 --------
48 linkperf:perf-trace[1], linkperf:perf-record[1]