# sadf

## NAME



           sadf - Display data collected by sar in multiple formats.
    


## SYNOPSIS



           **sadf [ -C ] [ -c | -d | -g | -j | -l | -p | -r | -x ] [ -H ] [ -h**
           **] [ -T | -t | -U ] [ -V ] [ -O** _opts_ **[,...] ] [ -P {**_cpu_list_ **| ALL**
           **} ] [ -s [**_start_time_ **] ] ] [ -e [**_end_time_ **] ] ] [ --dev=**_dev_list_
           **] [ --fs=**_fs_list_ **] [ --iface=**_iface_list_**] [ --int=**_int_list_ **] [ --**
           _sar_options_ **] [**_interval_ **[**_count_ **] ] [**_datafile_ **|**_-[0-9]+_ **]**
    


## DESCRIPTION



           The **sadf** command is used for displaying the contents of data files
           created by the sar(1) command. But unlike **sar** , **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 **sadf** command can also be
           used to draw graphs for the various activities collected by **sar**
           and display them as SVG (Scalable Vector Graphics) graphics in
           your web browser (see option **-g**).
    
           The **sadf** command extracts and writes to standard output records
           saved in the _datafile_ file. This file must have been created by a
           version of **sar** which is compatible with that of **sadf**. If _datafile_
           is omitted, **sadf** uses the standard system activity daily data
           file.  It is also possible to enter **-1** , **-2** etc. as an argument to
           **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 _saDD_ or
           _saYYYYMMDD_ , where _YYYY_ stands for the current year, _MM_ for the
           current month and _DD_ for the current day.  **sadf** will look for the
           most recent of _saDD_ and _saYYYYMMDD_ , and use it. By default it is
           located in the _/var/log/sa_ directory. Yet it is possible to
           specify an alternate location for it: If _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 _interval_ and _count_ parameters are used to tell **sadf** to select
           _count_ records at _interval_ seconds apart. If the _count_ parameter is
           not set, then all the records saved in the data file will be
           displayed.
    
           All the activity flags of **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 **sadf.** Not specifying any flags
           selects only CPU activity.
    


## OPTIONS



           **-C** Tell **sadf** to display comments present in file.
    
           **-c** Convert an old system activity binary datafile (version
                  9.1.6 and later) to current up-to-date format. Use the
                  following syntax:
    
                  **sadf -c** _old_datafile_ **> **_new_datafile_
    
                  Conversion can be controlled using option **-O**(see below).
    
           **-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 _sar_options_ command line options.  Note that timestamp
                  output can be controlled by options **-T** , **-t** and **-U**.
    
           **--dev=**_dev_list_
                  Specify the block devices for which statistics are to be
                  displayed by **sadf**.  _dev_list_ is a list of comma-separated
                  device names. Useful with option **-d** from **sar**.
    
           **-e [**_hh_**:**_mm_**[:**_ss_**] ]**
           **-e [**_seconds_since_the_epoch_ **]**
                  Set the ending time of the report. The default ending time
                  is 18:00:00. Hours must be given in 24-hour format, or as
                  the number of seconds since the epoch (given as a 10 digit
                  number).
    
           **--fs=**_fs_list_
                  Specify the filesystems for which statistics are to be
                  displayed by **sadf**.  _fs_list_ is a list of comma-separated
                  filesystem names or mountpoints. Useful with option **-F** from
                  **sar**.
    
           **-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:
    
                  **sadf -g** _your_datafile_ **[ --**_sar_options_ **] > **_output.svg_
    
                  and open the resulting SVG file in your favorite web
                  browser.  Output can be controlled using option **-O**(see
                  below).
    
           **-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.
    
           **-h** When used in conjunction with option **-d** , all activities
                  will be displayed horizontally on a single line.
    
           **--iface=**_iface_list_
                  Specify the network interfaces for which statistics are to
                  be displayed by **sadf**.  _iface_list_ is a list of comma-
                  separated interface names. Useful with options **-n DEV** and
                  **-n EDEV** from **sar**.
    
           **--int=**_int_list_
                  Specify the interrupts names for which statistics are to be
                  displayed by **sadf**.  _int_list_ is a list of comma-separated
                  values or range of values (e.g., **0-16,35,40-**). Useful with
                  option **-I** from **sar**.
    
           **-j** Print the contents of the data file in JSON (JavaScript
                  Object Notation) format. Timestamps can be controlled by
                  options **-T** and **-t**.
    
           **-l** Export the contents of the data file to a PCP (Performance
                  Co-Pilot) archive.  The name of the archive can be
                  specified using the keyword **pcparchive=** with option **-O**.
    
           **-O** _opts_**[,...]**
                  Use the specified options to control the output of **sadf**.
                  The following options are used to control SVG output
                  displayed by **sadf -g** :
    
                  autoscale
                         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.
    
                  bwcol  Use a black and white palette to draw the graphs.
    
                  customcol
                         Use a customizable color palette instead of the
                         default one to draw the graphs. See environment
                         variable **S_COLORS_PALETTE** below to know how to
                         customize that palette.
    
                  debug  Add helpful comments in SVG output file.
    
                  height=_value_
                         Set SVG canvas height to _value_.
    
                  oneday 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.
    
                  packed Group all views from the same activity (and for the
                         same device) on the same row.
    
                  showidle
                         Also display %idle state in graphs for CPU
                         statistics.
    
                  showinfo
                         Display additional information (such as the date and
                         the host name) on each view.
    
                  showtoc
                         Add a table of contents at the beginning of the SVG
                         output, consisting of links pointing at the first
                         graph of each activity.
    
                  skipempty
                         Do not display views where all graphs have only zero
                         values.
    
                  The following option may be used when converting an old
                  system activity binary datafile to current up-to-date
                  format:
    
                  hz=_value_
                         Specify the number of ticks per second for the
                         machine where the old datafile has been created.
    
                  The following option may be used when data are exported to
                  a PCP archive:
    
                  pcparchive=_name_
                         Specify the name of the PCP archive to create.
    
                  The following option is used to control raw output
                  displayed by **sadf -r** :
    
                  debug  Display additional information, mainly useful for
                         debugging purpose.
    
           **-P {**_cpu_list_ **| ALL }**
                  Tell **sadf** that processor dependent statistics are to be
                  reported only for the specified processor or processors.
                  _cpu_list_ is a list of comma-separated values or range of
                  values (e.g., **0,2,4-7,12-**).  Note that processor 0 is the
                  first processor, and processor **all** is the global average
                  among all processors. Specifying the **ALL** keyword reports
                  statistics for each individual processor, and globally for
                  all processors.
    
           **-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**.
    
           **-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.  Output can be
                  controlled using option **-O**(see above).
    
           **-s [**_hh_**:**_mm_**[:**_ss_**] ]**
           **-s [**_seconds_since_the_epoch_ **]**
                  Set the starting time of the data, causing the **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, or as the number of
                  seconds since the epoch (given as a 10 digit number).
    
           **-T** Display timestamp in local time instead of UTC (Coordinated
                  Universal Time).
    
           **-t** Display timestamp in the original local time of the data
                  file creator instead of UTC (Coordinated Universal Time).
    
           **-U** Display timestamp (UTC - Coordinated Universal Time) in
                  seconds from the epoch.
    
           **-V** Print version number then exit.
    
           **-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 _https://sysstat.github.io/ _.
    


## ENVIRONMENT



           The **sadf** command takes into account the following environment
           variables:
    
           **S_COLORS_PALETTE**
                  Specify the colors used by **sadf -g** to render the SVG
                  output. This environment variable is taken into account
                  only when the custom color palette has been selected with
                  the option **customcol**(see option **-O**).  Its value is a
                  colon-separated list of capabilities associated with six-
                  digit, three-byte hexadecimal numbers (hex triplets)
                  representing colors that defaults to
    
                  **0=000000:1=1a1aff:2=1affb2:3=b21aff:**
                  **4=1ab2ff:5=ff1a1a:6=ffb31a:7=b2ff1a:**
                  **8=efefef:9=000000:A=1a1aff:B=1affb2:**
                  **C=b21aff:D=1ab2ff:E=ff1a1a:F=ffb31a:**
                  **G=bebebe:H=000000:I=000000:K=ffffff:**
                  **L=000000:T=000000:W=000000:X=000000**
    
                  Capabilities consisting of a hexadecimal digit (**0** through
                  **F**) are used to specify the first sixteen colors in the
                  palette (these colors are used to draw the graphs), e.g.,
                  3=ffffff would indicate that the third color in the palette
                  is white (0xffffff).
                  Other capabilities are:
    
                  **G=** Specify the color used to draw the grid lines.
    
                  **H=** Specify the color used to display the report header.
    
                  **I=** Specify the color used to display additional
                         information (e.g., date, hostname...)
    
                  **K=** Specify the color used for the graphs background.
    
                  **L=** Specify the default color (which is for example used
                         to display the table of contents).
    
                  **T=** Specify the color used to display the graphs title.
    
                  **W=** Specify the color used to display warning and error
                         messages.
    
                  **X=** Specify the color used to draw the axes and display
                         the graduations.
    
           **S_TIME_DEF_TIME**
                  If this variable exists and its value is **UTC** then **sadf** will
                  use UTC time instead of local time to determine the current
                  daily data file located in the _/var/log/sa_ directory.
    


## EXAMPLES



           **sadf -d /var/log/sa/sa21 -- -r -n DEV**
                  Extract memory and network statistics from system activity
                  file _sa21_ , and display them in a format that can be
                  ingested by a database.
    
           **sadf -p -P 1**
                  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.
    


## 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.
    


## FILES



           _/var/log/sa/saDD_
           _/var/log/sa/saYYYYMMDD_
                  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.
    


* * *