summaryrefslogtreecommitdiff
path: root/tools/perf/Documentation/perf-daemon.txt
blob: af5916d1c3e09adcda84d46c4616326163752468 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
perf-daemon(1)
==============


NAME
----
perf-daemon - Run record sessions on background


SYNOPSIS
--------
[verse]
'perf daemon'
'perf daemon' [<options>]
'perf daemon start'  [<options>]


DESCRIPTION
-----------
This command allows to run simple daemon process that starts and
monitors configured record sessions.

You can imagine 'perf daemon' of background process with several
'perf record' child tasks, like:

  # ps axjf
  ...
       1  916507 ... perf daemon start
  916507  916508 ...  \_ perf record --control=fifo:control,ack -m 10M -e cycles --overwrite --switch-output -a
  916507  916509 ...  \_ perf record --control=fifo:control,ack -m 20M -e sched:* --overwrite --switch-output -a

Not every 'perf record' session is suitable for running under daemon.
User need perf session that either produces data on query, like the
flight recorder sessions in above example or session that is configured
to produce data periodically, like with --switch-output configuration
for time and size.

OPTIONS
-------
-v::
--verbose::
	Be more verbose.

--config=<PATH>::
	Config file path. If not provided, perf will check system and default
	locations (/etc/perfconfig, $HOME/.perfconfig).

--base=<PATH>::
	Base directory path. Each daemon instance is running on top
	of base directory.

All generic options are available also under commands.


START COMMAND
-------------
The start command creates the daemon process.

-f::
--foreground::
	Do not put the process in background.


CONFIG FILE
-----------
The daemon is configured within standard perf config file by
following new variables:

daemon.base:
	Base path for daemon data. All sessions data are
	stored under this path.

session-<NAME>.run:
	Defines new record session. The value is record's command
	line without the 'record' keyword.

Each perf record session is run in daemon.base/<NAME> directory.


SEE ALSO
--------
linkperf:perf-record[1], linkperf:perf-config[1]