tools/perf/Documentation/perf-record.txt

Source file repositories/reference/linux-study-clean/tools/perf/Documentation/perf-record.txt

File Facts

System
Linux kernel
Corpus path
tools/perf/Documentation/perf-record.txt
Extension
.txt
Size
34536 bytes
Lines
876
Domain
Support Tooling And Documentation
Bucket
tools
Inferred role
Support Tooling And Documentation: documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

perf-record(1)
==============

NAME
----
perf-record - Run a command and record its profile into perf.data

SYNOPSIS
--------
[verse]
'perf record' [-e <EVENT> | --event=EVENT] [-a] <command>
'perf record' [-e <EVENT> | --event=EVENT] [-a] \-- <command> [<options>]

DESCRIPTION
-----------
This command runs a command and gathers a performance counter profile
from it, into perf.data - without displaying anything.

This file can then be inspected later on, using 'perf report'.


OPTIONS
-------
<command>...::
	Any command you can specify in a shell.

-e::
--event=::
	Select the PMU event. Selection can be:

        - a symbolic event name	(use 'perf list' to list all events)

        - a raw PMU event in the form of rN where N is a hexadecimal value
          that represents the raw register encoding with the layout of the
          event control registers as described by entries in
          /sys/bus/event_source/devices/cpu/format/*.

        - a symbolic or raw PMU event followed by an optional colon
	  and a list of event modifiers, e.g., cpu-cycles:p.  See the
	  linkperf:perf-list[1] man page for details on event modifiers.

	- a symbolically formed PMU event like 'pmu/param1=0x3,param2/' where
	  'param1', 'param2', etc are defined as formats for the PMU in
	  /sys/bus/event_source/devices/<pmu>/format/*.

	- a symbolically formed event like 'pmu/config=M,config1=N,config3=K/'

          where M, N, K are numbers (in decimal, hex, octal format). Acceptable
          values for each of 'config', 'config1' and 'config2' are defined by
          corresponding entries in /sys/bus/event_source/devices/<pmu>/format/*
          param1 and param2 are defined as formats for the PMU in:
          /sys/bus/event_source/devices/<pmu>/format/*

	  There are also some parameters which are not defined in .../<pmu>/format/*.
	  These params can be used to overload default config values per event.
	  Here are some common parameters:
	  - 'period': Set event sampling period
	  - 'freq': Set event sampling frequency
	  - 'time': Disable/enable time stamping. Acceptable values are 1 for
		    enabling time stamping. 0 for disabling time stamping.
		    The default is 1.
	  - 'call-graph': Disable/enable callgraph. Acceptable str are "fp" for
			 FP mode, "dwarf" for DWARF mode, "lbr" for LBR mode and
			 "no" for disable callgraph.
	  - 'stack-size': user stack size for dwarf mode
	  - 'name' : User defined event name. Single quotes (') may be used to
		    escape symbols in the name from parsing by shell and tool
		    like this: name=\'CPU_CLK_UNHALTED.THREAD:cmask=0x1\'.
	  - 'aux-output': Generate AUX records instead of events. This requires
			  that an AUX area event is also provided.

Annotation

Implementation Notes