github iopsystems/rezolus v5.19.1

6 hours ago

Added

  • Agent: block IO latency is now split into its three phases, each a histogram
    broken down by op (read, write, flush, discard). blockio_queue_latency is
    the time a request waited before the device began servicing it — the
    component that grows under saturation, where device latency alone stays flat.
    blockio_total_latency is the end-to-end span the issuing workload actually
    experiences, measured directly rather than summed (two histograms cannot be
    added). The sampler already traced block_rq_insert, but insert and issue
    shared one timestamp and issue overwrote it, discarding the interval — so
    this needs no new probe attach. A request that goes straight to the driver
    has no queue phase and records no queue sample. (#1054, #1124)

Changed

  • Agent: blockio_latency is renamed blockio_device_latency. It is the
    same measurement — the pre-split metric always reported the issue-to-complete
    span — but the bare name became ambiguous once the queue and end-to-end
    phases were split out alongside it. Readers treat the two names as one
    metric: the viewer, dashboard, and TUI resolve whichever name a recording
    carries (blockio_device_latency_metric), so existing recordings keep
    rendering unchanged. External consumers that query blockio_latency by name
    — Prometheus rules, Grafana dashboards, saved PromQL — need updating.
    (#1054, #1124)

Fixed

  • Exporter: /metrics/binary served zero bytes when the agent could not be
    reached. To a scraper that only reads the body that is the same as an empty
    snapshot, but not to a consumer that probes the endpoint to decide what it
    speaks: zero bytes are not a msgpack document, so the probe concluded the
    endpoint was Prometheus and fell through to the text route. rezolus record
    probes exactly that way, so pointed at an exporter whose source had not come
    up yet it reported detected Prometheus, refused with .rez requires a rezolus (msgpack) endpoint, and recorded nothing for the whole run — even
    when the source appeared seconds later. It now serves a valid msgpack
    document carrying no metrics, which is both true and recoverable: the
    consumer keeps its connection and picks up real data the moment the agent
    appears. An empty body from the agent is normalized the same way. (#1176)

Removed

  • Debian 11 (bullseye) packages are no longer published. Debian 11 has
    reached end of life: bullseye-security was last signed on 2026-08-31 and
    its Release file expired on 2026-09-07. apt refuses an expired Release,
    so apt-get update fails inside the build container and cannot be made to
    succeed without disabling the freshness check — which would mean shipping
    packages built against an archive that receives no further security updates.
    Debian 11 users should stay on 5.19.0 or upgrade to bookworm or trixie. The
    install script and the supported-distribution list are updated to match, so
    it reports the release as unsupported rather than adding a repository that
    has no packages for it.

Don't miss a new rezolus release

NewReleases is sending notifications on new releases.