Skip to main content

Monitor 10.2.4

Released: October 2026
Previous version: 10.2.3
Docker Registry: registry.frafos.net/abc/mon:10.2.4

Features​

  • The PCAP retention job now runs within a configurable time budget. The new RETENTION_MAX_RUN_MINUTES setting (default 10 minutes) caps how long a run may take, and a lock file prevents two runs overlapping, so large backlogs no longer leave the job killed mid-run. [#1857,#Z2399]
  • New SQLite metrics history: Monitor collects SQLite PRAGMA values, WAL size and process I/O metrics, exposes them over an HTTP API and a health probe, and adds a dashboard modal with time-series charts for past SQLite health, I/O and lock data. The collector is off by default: set SQLITE_METRICS_INTERVAL_SECS (System Health → SQLite in the settings) to a sampling interval in seconds to enable it; the dashboard modal shows a notice while it is disabled. The optional bpftrace per-file I/O tracer needs extra container privileges — the installation guide documents the Docker and Podman requirements and adds a Podman Quadlet example. [#1843,#1860,#1861,#Z2399]
  • PCAP download and the SIP diagram API now also accept the file name configured in an SBC 5.6 "log messages" action, in addition to the catalog object ID: urls on /api/download/pcap, /api/diagram and /api/diagram/bundle tries both forms, so callers need not know which one they hold. The Swagger documentation for these endpoints now correctly describes them as POST requests with a PcapSelection body. [#1831]

Fixes​

  • A single upload with a non-matching file name could freeze the upload API, rsync and the web UI for over an hour, because object-ID validation backtracked exponentially. Validation now runs in linear time and accepts the same names as before. [#1873]
  • Upload API retention no longer scans the whole catalog on the event loop. Pruning now uses keyset pagination and a type-based query instead of a full scan, keeping the server responsive on large catalogs. [#1846]
  • Catalog writes no longer block the event loop. On large databases the main thread could stall in disk reads long enough to fill the GUI and rsync accept queues and drop incoming connections; enabling mmap_size takes those reads off the syscall path. [#1843,#Z2399]
  • Stalled rsync connections and their child processes are now reaped instead of accumulating indefinitely. [#1823]
  • The start_tm field is now indexed in the calls datastream. [#1850,#Z2357]
  • Alerts are now read from exceeded*, so alerts raised on event sources other than calls — SBC metric events, for example — are visible in the GUI instead of silently missing from dashboards. Already-archived alerts become visible with no migration. [#1841,#Z2389]
  • The Custom Call Counter chart on the Network dashboard no longer creates an incorrect filter when a legend entry is clicked; the legend filter was removed from that chart. [#1802]
  • The API documentation now points at <PUBLIC_URL>/api/swagger/ for Swagger UI and <PUBLIC_URL>/api/swagger.json for the raw OpenAPI spec, instead of the incorrect :3000/docs/. [#1833]