]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blame - tools/perf/Documentation/perf-probe.txt
perf probe: Annotate variable initialization
[mirror_ubuntu-bionic-kernel.git] / tools / perf / Documentation / perf-probe.txt
CommitLineData
595c3649
MH
1perf-probe(1)
2=============
3
4NAME
5----
6perf-probe - Define new dynamic tracepoints
7
8SYNOPSIS
9--------
10[verse]
11'perf probe' [-k <file>] -P 'PROBE' [-P 'PROBE' ...]
12
13
14DESCRIPTION
15-----------
16This command defines dynamic tracepoint events, by symbol and registers
17without debuginfo, or by C expressions (C line numbers, C function names,
18and C local variables) with debuginfo.
19
20
21OPTIONS
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
35PROBE SYNTAX
36------------
37Probe 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).
43You 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
46SEE ALSO
47--------
48linkperf:perf-trace[1], linkperf:perf-record[1]