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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
|
.TH SADF 1 "JULY 2018" Linux "Linux User's Manual" -*- nroff -*-
.SH NAME
sadf \- Display data collected by sar in multiple formats.
.SH SYNOPSIS
.B sadf [ -C ] [ -c | -d | -g | -j | -p | -r | -x ] [ -H ] [ -h ] [ -T | -t | -U ] [ -V ] [ -O
.I opts
.B [,...] ] [ -P {
.I cpu_list
.B | ALL } ] [ -s [
.I hh:mm[:ss]
.B ] ] [ -e [
.I hh:mm[:ss]
.B ] ] [ --dev=
.I dev_list
.B ] [ --fs=
.I fs_list
.B ] [ --iface=
.I iface_list
.B ] [ --
.I sar_options
.B ] [
.I interval
.B [
.I count
.B ] ] [
.I datafile
|
.I -[0-9]+
.B ]
.SH DESCRIPTION
The
.B sadf
command is used for displaying the contents of data files created by the
.BR sar (1)
command. But unlike
.BR sar ,
.B sadf
can write its data in many different formats (CSV, XML, etc.)
The default format is one that can
easily be handled by pattern processing commands like awk (see option -p).
The
.B sadf
command can also be used to draw graphs for the various activities collected
by
.B sar
and display them as SVG (Scalable Vector Graphics) graphics in your web browser
(see option -g).
The
.B sadf
command extracts and writes to standard output records saved in the
.I datafile
file. This file must have been created by a version of
.B sar
which is compatible with that of
.B sadf.
If
.I datafile
is omitted,
.B sadf
uses the standard system activity daily data file.
It is also possible to enter -1, -2 etc. as an argument to
.B sadf
to display data of that days ago.
For example, -1 will point at the standard system
activity file of yesterday.
The standard system activity daily data file is named
.I saDD
or
.IR saYYYYMMDD ,
where YYYY stands for the current year, MM for the current month and
DD for the current day.
.B sadf
will look for the most recent of
.I saDD
and
.IR saYYYYMMDD ,
and use it. By default it is located in the
.I /var/log/sa
directory. Yet it is possible to specify an alternate location for it:
If
.I datafile
is a directory (instead of a plain file) then it will be considered as
the directory where the standard system activity daily data file is
located.
The
.I interval
and
.I count
parameters are used to tell
.B sadf
to select
.I count
records at
.I interval
seconds apart. If the
.I count
parameter is not set, then all the records saved in the data file will be
displayed.
All the activity flags of
.B sar
may be entered on the command line to indicate which
activities are to be reported. Before specifying them, put a pair of
dashes (--) on the command line in order not to confuse the flags
with those of
.B sadf.
Not specifying any flags selects only CPU activity.
.SH OPTIONS
.IP -C
Tell
.B sadf
to display comments present in file.
.IP -c
Convert an old system activity binary datafile (version 9.1.6 and later)
to current up-to-date format. Use the following syntax:
.B sadf -c old_datafile > new_datafile
.IP -d
Print the contents of the data file in a format that can easily
be ingested by a relational database system. The output consists
of fields separated by a semicolon. Each record contains
the hostname of the host where the file was created, the interval value
(or -1 if not applicable), the timestamp in a form easily acceptable by
most databases, and additional semicolon separated data fields as specified
by
.I sar_options
command line options.
Note that timestamp output can be controlled by options -T, -t and -U.
.IP --dev=dev_list
Specify the block devices for which statistics are to be displayed by
.BR sadf .
.IR dev_list
is a list of comma-separated device names. Useful with option -d from
.BR sar .
.IP "-e [ hh:mm[:ss] ]"
Set the ending time of the report, given in local time. The default ending
time is 18:00:00. Hours must be given in 24-hour format.
.IP --fs=fs_list
Specify the filesystems for which statistics are to be displayed by
.BR sadf .
.IR fs_list
is a list of comma-separated filesystem names or mountpoints. Useful with
option -F from
.BR sar .
.IP -g
Print the contents of the data file in SVG (Scalable Vector Graphics) format.
This option enables you to display some fancy graphs in your web browser.
Use the following syntax:
.B sadf -g your_datafile [ --
.I sar_options
.B ] > output.svg
and open the resulting SVG file in your favorite web browser.
.IP -H
Display only the header of the report (when applicable). If no format has
been specified, then the header data (metadata) of the data file are displayed.
.IP -h
When used in conjunction with option -d, all activities
will be displayed horizontally on a single line.
.IP --iface=iface_list
Specify the network interfaces for which statistics are to be displayed by
.BR sadf .
.IR iface_list
is a list of comma-separated interface names. Useful with options -n DEV and
-n EDEV from
.BR sar .
.IP -j
Print the contents of the data file in JSON (JavaScript Object Notation)
format. Timestamps can be controlled by options -T and -t.
.IP "-O opts [,...]"
Use the specified options to control the output of
.BR sadf .
The following options are used to control SVG output displayed by
.BR "sadf -g":
.B autoscale
.RS
.RS
Draw all the graphs of a given view as large as possible based on current
view's scale. To do this, a factor (10, 100, 1000...) is used to
enlarge the graph drawing.
This option may be interesting when several graphs are drawn on the same
view, some with only very small values, and others with high ones,
the latter making the former hardly visible.
.RE
.BR height= value
.RS
Set SVG canvas height to
.IR value .
.RE
.B oneday
.RS
Display graphs data over a period of 24 hours. Note that hours are still
printed in UTC by default: You should use option -T to print them in local
time and get a time window starting from midnight.
.RE
.B packed
.RS
Group all views from the same activity (and for the same device) on the same row.
.RE
.B showidle
.RS
Also display %idle state in graphs for CPU statistics.
.RE
.B showinfo
.RS
Display additional information (such as the date and the host name) on each view.
.RE
.B showtoc
.RS
Add a table of contents at the beginning of the SVG output, consisting of links
pointing at the first graph of each activity.
.RE
.B skipempty
.RS
Do not display views where all graphs have only zero values.
.RE
The following option is used to control raw output displayed by
.BR "sadf -r":
.B debug
.RS
Display additional information, mainly useful for debugging purpose.
.RE
.RE
.IP "-P { cpu_list | ALL }"
Tell
.B sadf
that processor dependent statistics are to be reported only for the
specified processor or processors.
.I cpu_list
is a list of comma-separated values or range of values (e.g.,
.BR 0,2,4-7,12- ).
Note that processor 0 is the first processor, and processor
.B all
is the global average among all processors.
Specifying the
.B ALL
keyword reports statistics for each individual processor, and globally for
all processors.
.IP -p
Print the contents of the data file in a format that can
easily be handled by pattern processing commands like awk.
The output consists of fields separated by a tab. Each record contains the
hostname of the host where the file was created, the interval value
(or -1 if not applicable), the timestamp,
the device name (or - if not applicable),
the field name and its value.
Note that timestamp output can be controlled by options -T, -t and -U.
.IP -r
Print the raw contents of the data file. With this format, the values for
all the counters are displayed as read from the kernel, which means e.g., that
no average values are calculated over the elapsed time interval.
.IP "-s [ hh:mm[:ss] ]"
Set the starting time of the data (given in local time), causing the
.B sadf
command to extract records time-tagged at, or following, the time
specified. The default starting time is 08:00:00.
Hours must be given in 24-hour format.
.IP -T
Display timestamp in local time instead of UTC (Coordinated Universal Time).
.IP -t
Display timestamp in the original local time of the data file creator
instead of UTC (Coordinated Universal Time).
.IP -U
Display timestamp (UTC - Coordinated Universal Time) in seconds from
the epoch.
.IP -V
Print version number then exit.
.IP -x
Print the contents of the data file in XML format.
Timestamps can be controlled by options -T and -t.
The corresponding
DTD (Document Type Definition) and XML Schema are included in the sysstat
source package. They are also available at
.I http://pagesperso-orange.fr/sebastien.godard/download.html
.SH ENVIRONMENT
The
.B sadf
command takes into account the following environment variable:
.IP S_TIME_DEF_TIME
If this variable exists and its value is
.BR UTC
then
.B sadf
will use UTC time instead of local time to determine the current daily data
file located in the
.IR /var/log/sa
directory.
.SH EXAMPLES
.B sadf -d /var/log/sa/sa21 -- -r -n DEV
.RS
Extract memory and network statistics from system activity
file 'sa21', and display them in a format that can be ingested by a
database.
.RE
.B sadf -p -P 1
.RS
Extract CPU statistics for processor 1 (the second processor) from current
daily data file, and display them in a format that can easily be handled
by a pattern processing command.
.RE
.SH BUGS
SVG output (as created by option -g) is fully compliant with SVG 1.1 standard.
Graphics have been successfully displayed in various web browsers, including
Firefox, Chrome and Opera. Yet SVG rendering is broken on Microsoft browsers
(tested on Internet Explorer 11 and Edge 13.1): So please don't use them.
.SH FILES
.I /var/log/sa/saDD
.br
.I /var/log/sa/saYYYYMMDD
.RS
The standard system activity daily data files and their default location.
YYYY stands for the current year, MM for the current month and DD for the
current day.
.RE
.SH AUTHOR
Sebastien Godard (sysstat <at> orange.fr)
.SH SEE ALSO
.BR sar (1),
.BR sadc (8),
.BR sa1 (8),
.BR sa2 (8),
.BR sysstat (5)
.I https://github.com/sysstat/sysstat
.I http://pagesperso-orange.fr/sebastien.godard/
|