Sebastien GODARD [Tue, 22 Dec 2020 11:22:30 +0000 (12:22 +0100)]
sar: Fix return code sent by write_stats() function
Make sure that a line of statistics has actually been displayed to
return 1 for the status code value.
When an activity has no item at all for current sample, we should not
return a status code of 1 else we won't display the header line for
next sample.
Sebastien GODARD [Sat, 19 Dec 2020 08:51:54 +0000 (09:51 +0100)]
sysstat-12.5.2
sysstat version 12.5.2 final packaging.
Changelog added.
spec and lsm files updated.
I felt compelled to release this new version because of an annoying bug
concerning structures alignment on 32 bit systems. It made saDD
datafiles created on 32 bit systems unreadable on 64 bit ones. And bugs
impacting datafiles structure and/or format are always pernicious...
So please upgrade. Thanks go to Aleksei Nikiforov for reporting (and
fixing) it.
Sebastien GODARD [Sat, 19 Dec 2020 08:08:59 +0000 (09:08 +0100)]
simtest: Check for 32 bit version of lm_sensors library
This version of lm_sensors library will be used to compile the 32 bit
version of sadc if available.
32 bit version of sadc is useful to make sure that datafiles created by
a 64 or 32 bit version of sadc can be read on every architecture.
Sebastien GODARD [Sat, 21 Nov 2020 08:14:31 +0000 (09:14 +0100)]
sysstat-12.5.1
sysstat version 12.5.1 final packaging.
Changelog added.
spec and lsm files updated.
This is mainly a bugfix release with some small improvements lying around...
Nothing to write home about, but I thought it was time to make a release,
the previous one being almost 4 months old.
Sebastien GODARD [Wed, 11 Nov 2020 15:33:32 +0000 (16:33 +0100)]
sa1: Add --rotate option
This option tells sa1 to add a statistics record to the system activity
daily data file of the previous day. This should be done shortly after
midnight in order to make sure that the data file covers the whole day,
including the last interval of time just before midnight.
sar: Make option -j work with filesystem statistics
This patch makes it possible to display the persistent filename of the
device (e.g. UUID instead of /dev/sda...) when displaying filesystems
statistics (sar -F).
The iowait value reported by the kernel on NO_HZ systems can decrement
as a result of inaccurate iowait tracking. Waiting on IO can be first
accounted as iowait but then instead as idle.
Function get_per_cpu_interval() considers iowait going backwards between
two readings as a CPU coming back online and resets the iowait value of
the first reading to 0. If iowait is decremented only because of
inaccurate tracking, this causes that almost all time between the two
readings is incorrectly recognized by sar as being spent in iowait.
The patch updates the code in get_per_cpu_interval() to recognize this
situation. If the iowait value between two readings decremented but the
idle value did not then the code now considers it as a problem with the
iowait reporting and corrects the first value according to the second
reading. Otherwise, the code remains treating decremented iowait as a
CPU coming back online.
Petr Pavlu [Wed, 2 Sep 2020 08:24:43 +0000 (10:24 +0200)]
Workaround for iowait being decremented
The iowait value reported by the kernel on NO_HZ systems can decrement
as a result of inaccurate iowait tracking. Waiting on IO can be first
accounted as iowait but then instead as idle.
Function get_per_cpu_interval() considers iowait going backwards between
two readings as a CPU coming back online and resets the iowait value of
the first reading to 0. If iowait is decremented only because of
inaccurate tracking, this causes that almost all time between the two
readings is incorrectly recognized by sar as being spent in iowait.
The patch updates the code in get_per_cpu_interval() to recognize this
situation. If the iowait value between two readings decremented but the
idle value did not then the code now considers it as a problem with the
iowait reporting and corrects the first value according to the second
reading. Otherwise, the code remains treating decremented iowait as a
CPU coming back online.
Sebastien GODARD [Fri, 21 Aug 2020 08:36:47 +0000 (10:36 +0200)]
sar manual page: Update definition for runq-sz metric
The runq-sz metric was defined as the number of tasks waiting for run
time, and calculated as (number of tasks running+waiting for run time)
minus 1 (to not count current running process).
This was OK on UP machines, but is no longer true on SMP/multi-cores
machines. So update the metric's definition: runq-sz is the number of
tasks running or waiting for run time (we still don't count current
running process).
sysstat version 12.4.0 final packaging.
Changelog added.
No breaking new features here but numerous small improvements over
the last previous version. Among them:
* All the sysstat commands now display their statistics in color
by default when the output is connected to a terminal,
* sar "pretty-prints" the device names by default, which means
you won't need to use option -p with option -d to display the
device names as they appear in /dev,
* You can tell the sa2 script to wait for a random delay before executing
in order to prevent a massive I/O burst on some systems,
* You can also tell the sa1 script to insert a comment in current daily
datafile saDD on system suspend and resume,
... and more ! See the CHANGES file for more details.
This option makes the report easier to read by a human.
Please note that for sar, option -p is now equivalent to this one.
Use this option to display device names or network interface names
on the right of the report instead of the left (which can be
particularly useful for long names).
Also option -h is now equivalent to "--pretty --human".
sar: Device names are now pretty-printed by default
sar now pretty-prints device names by default. It means that they will
be displayed as they appear in /dev (e.g. sda, sdb...) instead of
"devM-m", and you don't need to use option -p for that.
Using sysstat.ioconf configure file to determine the device name based
on its major and minor numbers gives a wrong name for xvd* devices with
big minor numbers.
Don't use it any more as there are other ways to find the name (e.g. we
can read the symlink in /sys/dev/block/).
Fix gcc V10 warnings in sysstat 12.0.1 code used for test
The tests/ directory contains an old version of sysstat code (v 12.0.1)
used for non regression tests.
Compiling this version produces warnings with recent gcc v9/v10. Fix
them, even if we alter a bit the original 12.0.1 code.