You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
An AMD APU sampler that needs no ROCm. gpu_amd_sysfs publishes gpu_clock, including the SoC and data fabric clocks, gpu_power_usage, gpu_rail_power, gpu_temperature, gpu_utilization and gpu_throttle_status from amdgpu's gpu_metrics (format v2.1) and pp_dpm_fclk, once a second by default. It reports unsupported when gpu_amd_smi is enabled and ROCm SMI finds a GPU, because both would
publish the same series. The GPU section plots the SoC and fabric clocks,
and a group shown only when gpu_rail_power is recorded plots rail power
and throttle status. Backported from 6.0 (#1667) in #1669.
drive_temperature_sensor: NVMe Temperature Sensors 1 to 8. drivehealth decodes them from the SMART/Health log it already reads
(bytes 200 to 215), labelled sensor={1..8} and with the drive's labels,
on Linux and macOS. A sensor the controller does not implement has no
value. Backported from 6.0 (#1549) in #1671.
Changed
hw_sensors is on by default. It follows [defaults] like other
samplers. On five hosts at the 5 second default it cost at most 0.08% of a
core; reads run on a blocking worker, not the scrape path. It no longer
reads ACPI Processor cooling devices, one per logical CPU, or nvme or drivetemp hwmon chips, whose reads send the drive a command; drivehealth
reads each drive's temperature at its own interval (it needs root). An asusec temperature channel reading -40 °C, the driver's value for an
empty header, is skipped. [samplers.hw_sensors] enabled = false turns it
off, and an existing config that sets it keeps the sampler off. A host
whose /etc/rezolus/agent.toml was edited keeps that file on a package
upgrade, with the old packaged enabled = false; remove that line to turn
the sampler on. Backported from 6.0 (#1527) in #1672.
Security
parquet and arrow 58.4.1 (thrift 0.23.0), zstd 0.13.4 and 0.14.3, and
zstd-safe 7.4.0 and 8.2.0, for RUSTSEC-2026-0435 (unbounded allocation in
thrift's binary protocol read_bytes), RUSTSEC-2026-0442 (arrow-data
RunEndEncoded validation), RUSTSEC-2026-0391, RUSTSEC-2026-0398 and
RUSTSEC-2026-0403 (zstd and zstd-safe). No Cargo.toml requirement
changes. In #1673.
The viewer bundles ECharts 6.1.0, up from 5.4.3, for GHSA-fgmj-fm8m-jvvx
(CVE-2026-45249), an XSS in the Lines series tooltip. The viewer draws no
Lines series, so it was not exposed. The charts set the drag-to-zoom
selection colour and leave out the time axis's right-edge label, which
ECharts 6's defaults changed. What still differs: the "OOB" tick on
percentile charts takes the other tick labels' font, and a heatmap's first
or last column can end a pixel earlier. Backported from 6.0 (#1613) in #1668.
Fixed
ext4_alloc, ext4_journal and ext4_ops start when the ext4 module
loads, and xfs_log when the xfs module loads. On a host whose root
filesystem is not ext4 (or not XFS), the module loads at the first mount of
that filesystem, which often comes after the agent has started at boot. The
ext4 samplers then failed to load with "Invalid argument (os error 22)" or
reported unsupported, xfs_log reported unsupported, and none was retried
until the agent restarted. A sampler whose module is not yet loaded now
reports unsupported with "waiting for kernel module ext4 to load; starts
when it does", checks every 5 s, and initialises once it loads. A kernel
with no such module is reported unsupported at once. Backported from 6.0
(#1441, #1442) in #1668.
tcp_connect_latency times a connect() retried after a failure before SYN_SENT, such as one with no route, from the retry. It kept the failed
call's start time and timed the next connect() on the same socket from
it. Backported from 6.0 (#1645) in #1668.
NVMe health metrics carry an acquisition window on Linux. The drivehealth sweep never acquired its NVMe acquisition group, so the
temperature-time and thermal-management counters published with no
window. A recording now holds one NVMe row per sweep instead of one per
tick, and rate() on these counters gets an uncertainty band. Backported
from 6.0 (#1553) in #1668.
The BPF counter, histogram and initial-value mmaps no longer close the map
fd that libbpf owns. Each wrapped the fd in a File and dropped it; they
now map through the borrowed fd. Backported from 6.0 (#1555) in #1668.
The macOS agent no longer leaks memory on every CPU sample. The cpu_usage sampler never freed the array host_processor_info returns,
so each refresh leaked one page (16 KiB on Apple Silicon), about 1.4 GB a
day at one sample a second. cpu_usage on macOS is now one series per CPU
in each of user and system, labelled id, so the per-CPU charts draw
on a Mac. Niced time is counted as user, as on Linux, and the nice
state is gone. Backported from 6.0 (#1571) in #1668.
The cgroups section's aggregate charts leave out the selected cgroups. The
viewer removed their name!~ exclusion before every query, so a cgroup
moved to the individual side was still counted on the left. Backported
from 6.0 (#1524) in #1668.
A per-entity line chart has no legend. A chart with one line per sensor,
mount or cgroup drew a legend that wrapped to as many rows as it had
series, over the plot and the time axis. The tooltip names every series at
the cursor. The compare-mode overlay keeps its two-entry legend.
Backported from 6.0 (#1545) in #1668.
A compare chart's decimated baseline draws an unbroken line, and a
decimated envelope breaks at a missing bucket. Each series is now gapped
and stepped by its own spacing; one spaced at least 1.5 times the interval
draws unstepped, which also draws a slow sampler's series on a line chart
as a line instead of isolated points. Backported from 6.0 (#1546) in #1668.
A cgroup whose name holds a systemd \xHH escape, such as \x2d, can be
selected in the viewer. The picker put selected names into the query
unescaped, so systemd's \x2d (an escaped -) was consumed by the PromQL
string and the cgroup was neither shown on the individual side nor removed
from the aggregate. Names are now quoted for the PromQL string. A cgroup is
offered for selection when its name is letters, digits, / _ . : @ - = , ~ % and \xHH escapes; any other name is shown disabled
with the reason, and a link that selects one drops it with a console
warning. Backported from 6.0 (#1547) in #1670.