Sebastien GODARD [Sun, 23 Jan 2022 09:57:16 +0000 (10:57 +0100)]
Make sure that datafiles with unknown activities can be read by sar
When the structure containing statistics for an activity is modified
(with the number of fields of type A increased and of type B decreased),
sar and sadf might not be able to read the corresponding datafile.
Make sure that they can read the other activities in file, even if the
unknown activity is ignored.
Sebastien GODARD [Mon, 10 Jan 2022 16:57:25 +0000 (17:57 +0100)]
Fix index value used in online_cpu_bitmap array
The online_cpu_bitmap[] array size is based on the number of CPU
allocated (see sa_wrap.c:wrap_read_softnet()). The size is calculated as
BITMAP_SIZE(a->nr_allocated).
So the index used in read_softnet() function (rd_stats.c) shall not
exceed the size of the array, and so cannot reach NR_CPUS.
Sebastien GODARD [Sun, 14 Nov 2021 10:28:11 +0000 (11:28 +0100)]
mpstat: Don't display offline CPU
Offline CPU are no longer displayed with options -I {SUM, CPU, SCPU}.
This was already the case with option -u. So this should make display
consistent for all options.
Ville Skyttä [Sat, 13 Nov 2021 21:30:39 +0000 (23:30 +0200)]
*: use `grep -E` instead of `egrep`
`egrep` has been deprecated in GNU grep since 2007, and in current post
3.7 Git it has been made to emit obsolescence warnings:
https://git.savannah.gnu.org/cgit/grep.git/commit/?id=a9515624709865d480e3142fd959bccd1c9372d1
Sebastien GODARD [Thu, 10 Jun 2021 13:06:19 +0000 (15:06 +0200)]
sar: Tell the user to convert its file when needed
When sar or sadf tries to read a datafile with an old format, tell the
user that he can convert it to current format to be able to read it.
This message is displayed only for datafiles created by sysstat versions
9.1.6 and later. Datafiles older than 9.1.6 cannot be converted.
sysstat version 12.5.4 final packaging.
Changelog added.
spec and lsm files updated.
This version brings better integration with PCP (thanks go to Nathan
Scott).
It also adds a small improvement to the pidstat command: Using option -e
and not specifying an interval nor a count value on the command line
will make pidstat show global task statistics when the task terminates.
sadf: PCP: Don't check for newly registered network interfaces
It is useless to check if current network interface has just been
registered or not before displaying its PCP statistics.
This is because PCP displays the raw counter values, not their variation
over the interval. Moreover the whole list of network interfaces present
in file has been created with each one having already its instance.
Nathan Scott [Thu, 8 Apr 2021 03:39:44 +0000 (13:39 +1000)]
Fix PCP issues found by Sebastien during code review
- Resolve duplication of kernel.all.nprocs by switching
one over to kernel.all.sysfork to match Linux PCP
- Add total physical memory metrics
- Fix units metadata for the kernel.all.nptys metric
- Drop not-yet-used network interface metric defitions
(speed, baudrate, duplex)
- Correct the spelling of "celsius"
- Resolve confusion with rq_ticks/rd_ticks disk fields
Relates to https://github.com/sysstat/sysstat/pull/287
Parth Shah [Wed, 31 Mar 2021 11:59:06 +0000 (17:29 +0530)]
pidstat: Monitor and show stats at the end of the exec program
Do not set alarms for undefined value of the interval. Also allow to
print stats even if the SIGINT/SIGCHLD occurs before first interval.
Hence, the command `pidstat -e <prog-name>`
will monitor the prog-name process and show the PID stats after the
prog-name is completed its execution.
Nathan Scott [Tue, 23 Mar 2021 06:59:18 +0000 (17:59 +1100)]
Update sadf to use metadata matching the same metrics from PCP
When operating with the -l option in sadf we want to generate PCP
archives that match the PCP archives generated by pmlogger(1) as
closely as possible. The advantage to doing this is that the live
and historical modes to the PCP tools become interchangeable; i.e.
pmchart views, pmie rules, grafana-pcp dashboards, and so on, all
expect metrics named according to the PCP conventions.
The reason sadf is not already doing this (AIUI), is that it was
originally based on the sar2pcp(1) utility. This tool (which we
plan to deprecate in PCP in favour of the sysstat functionality)
used the rate-converted counter values as its starting point and
not the raw counters we have access to within sysstat itself.
I've audited all of the metrics being added to PCP archives with
the sadf -l option now, and all now align with current metadata
in PCP. I've also added a few uname(2) metrics from the record
header (in the way hinv.ncpu was already being used).
Sebastien GODARD [Sun, 14 Feb 2021 10:07:01 +0000 (11:07 +0100)]
sysstat-12.5.3
sysstat version 12.5.3 final packaging.
Changelog added.
spec and lsm files updated.
This also is mainly a bugfix version (sar, sadf).
One noteworthy new feature is the addition of Link Time Optimization
(LTO) support for smaller binary executables (use --enable-lto to
enable it when compiling sysstat).
IFNAMSIZ value is used to set the maximum length of the network
interface name, and for the definition of structures used to save
data in the binary data files (saDD).
We cannot allow that a new kernel value for IFNAMSIZ changes the format
of saDD binary data files. So now use a constant value of 16 (which is
the present value of IFNAMSIZ).
Sebastien GODARD [Sun, 24 Jan 2021 09:59:17 +0000 (10:59 +0100)]
SVG: Use the "count" parameter entered on the command line
The <count> parameter was not taken into account by sadf when creating
SVG graphs. Fix this.
E.g.: sadf -g datafile 1 10 > data.svg
In this example, the value 10 for the count parameter was not taken
into account and the whole datafile was used to create the graphs.
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.