Bug Fixes and Improvements
- #3493: Document the CPU/memory trade-off of reusing versus recreating
SystemInfowhen polling, with supporting benchmarks - @dbwiddis. - #3499: Fix FreeBSD, NetBSD, and OpenBSD
df -iinode parsing to include ZFS, tmpfs, devfs, and mfs filesystems that do not start with/- @dbwiddis. - #3504: Fix AIX processor cache detection, which read the POWER generation from the hostname (
uname -n) instead ofprtconf'sProcessor Versionfield, causinggetProcessorCaches()to return an empty list - @dbwiddis. - #3505: Fix the AIX FFM backend reading
perfstat_partition_config_t.processorMHzat the wrong struct offset (344 instead of 340), which reported the processor's vendor frequency as unknown - @dbwiddis. - #3507: Extend the native-free provider (
oshi-commonalone, no JNA or FFM) to NetBSD, so NetBSD users without the JNA native library can depend onoshi-commonwithout--enable-native-access, as Linux already can - @dbwiddis. - #3518: Consolidate the duplicated
sysctlutility code into shared command-line (BsdSysctlUtil), JNA (SysctlUtilJNA), and FFM (SysctlFFM) helpers, and fix a latent bug where reading an int-width sysctl (e.g. FreeBSDhw.clockrate) through thelongAPI returned uninitialized bytes, intermittently reporting an absurd CPU vendor frequency such as 6.2 EHz - @dbwiddis. - #3519: Fix the Solaris JNA Kstat2 processor identifier reporting the CPU vendor frequency in MHz instead of Hz (missing the
clock_MHzto Hz conversion applied on the other code paths) - @dbwiddis. - #3525: Carry the exception log level with a new
oshi.util.LogLevelenum instead oforg.slf4j.event.Level, so OSHI no longer class-loads a type added in slf4j-api 1.7.15 on non-exceptional code paths and works again against host-provided slf4j-api older than 1.7.15 (e.g. the 1.7.5 bundled by Apache Maven 3.3.x) - @wolfs.