1fdrd(8) System Manager's Manual fdrd(8)
2
3
4
6 fdrd - Flight Data Recorder daemon
7
9 /usr/bin/fdrd
10
12 The fdrd program is a daemon which enables ftrace probes, harvests
13 ftrace data and (optionally) writes the data to a file.
14
15 The behavior of fdr is defined by configuration files stored in
16 /etc/fdr.d. During service startup, fdr will process each file in the
17 directory which has the suffix of .conf. If new config files are added
18 to the fdr.d directory, then the service must be restarted to recognize
19 the new configuration information.
20
21 fdr is controlled by systemd (8) on systems where systemd is available.
22 Error messages from fdr can be viewed via systemctl, for example,
23
24 systemctl status -l fdr
25
27 The following keywords and options are recognized
28
29 instance iname [buffer-size]
30
31 Create a new ftrace instance called "iname". This instance will appear
32 in /sys/kernel/debug/tracing/instances
33
34 The optional buffer-size parameter can be used to control the size of
35 the ftrace buffers for this instance in the kernel. A suffix of 'k',
36 'K', 'm', 'M', 'g' or 'G' may be used to specify kilobytes, megabytes
37 or gigabytes.
38
39 modprobe module-name
40
41 Force the named module to be loaded by fdr. This can be useful when
42 the module is normally loaded on demand and the probes cannot be en‐
43 abled until the module is loaded.
44
45 enable subsystem-name/probe-name [filter]
46
47 Enable an ftrace probe in the specified subsystem. Both the subsystem
48 name and probe name are defined by the kernel.
49
50 The optional filter parameter allows an ftrace filter to be set as
51 well. This will limit the amount of data being emitted. The syntax of
52 the filter language is defined by ftrace itself and the parameters are
53 defined by the static tracepoint being enabled in the kernel.
54
55 enable subsystem-name/all
56
57 Enable all ftrace probes for the subsystem.
58
59 disable subsystem-name/probe-name
60
61 Disable an ftrace probe in the specified subsystem. This can be useful
62 to disable selective probes when the "ALL" keyword has been used.
63
64 disable subsystem-name/all
65
66 Disable all probes in the specified subsystem.
67
68 saveto file-name [maxsize]
69
70 Save the output of enabled probes to the named file. If the optional
71 maxsize parameter is given, the daemon will initiate a log rotation,
72 see Log Rotation below. A suffix of 'k', 'K', 'm', 'M', 'g' or 'G' may
73 be used to specify kilobytes, megabytes or gigabytes.
74
75 If no saveto directive is present, then fdr will create the instance
76 and enable the probes. In this case, the data can be harvested manu‐
77 ally by reading:
78
79 /sys/kernel/debug/tracing/instances/iname/trace_pipe
80
81 The ftrace buffers in the kernel are circular. If no process harvests
82 the data, new data will overwrite old data.
83
84 minfree value
85
86 Limit the output by the daemon based on free space in the file system
87 for the save file. If free space percentage is below the specified
88 value, no output will be written.
89
90 If no minfree directive is present, fdr will use 5% by default.
91
93 fdr can use logrotate(8) to manage the output files. By convention,
94 /etc/logrotate.d/instance-name controls the behavior of logrotate.
95
96 fdr will also invoke logrotate directly at startup and when reaching
97 the maxsize limit for the save file.
98
100 https://lwn.net/Articles/410200/
101
102 https://www.kernel.org/doc/Documentation/trace/ftrace.txt
103
105 Bill Baker and Calum Mackay
106
107
108
109 15 June 2021 fdrd(8)