From f86699a94bdde7d973ba5d6fa3e7ca4ab2f234fb Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 8 May 2026 19:43:33 +0300 Subject: add duration metric, tolerate missing tracepoints, ship el8 build - Bubbles, treemap, icicle, and the live flamegraph 'b' cycle now include syscall duration (sum) as a third metric alongside events and bytes. Statsengine snapshots expose TotalLatencyNs to support this. - AttachAll takes an optional warn callback. Production passes one so older kernels that lack newer tracepoints log a warning and keep going instead of aborting startup. - Dockerfile.el8 + scripts/build-with-docker-el8.sh + mage buildDockerEl8 produce ior.el8, a static binary built against Rocky Linux 8 glibc for RHEL/Rocky/Alma 8 hosts. - README.md documents installing mage and the new el8 target. --- internal/statsengine/syscall.go | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) (limited to 'internal/statsengine/syscall.go') diff --git a/internal/statsengine/syscall.go b/internal/statsengine/syscall.go index 93931d1..2ef929a 100644 --- a/internal/statsengine/syscall.go +++ b/internal/statsengine/syscall.go @@ -195,18 +195,19 @@ func (s *syscallStats) ensurePercentiles() { func (s syscallSnapshotInput) toSnapshot(rateDiv float64) SyscallSnapshot { return SyscallSnapshot{ - TraceID: s.traceID, - Name: s.name, - Count: s.count, - RatePerSec: safeRate(s.count, rateDiv), - Errors: s.errorCount, - Bytes: s.totalBytes, - LatencyMinNs: s.minLatency, - LatencyMaxNs: s.maxLatency, - LatencyMeanNs: float64(s.totalLatency) / float64(maxU64(s.count, 1)), - LatencyP50Ns: s.p50Latency, - LatencyP95Ns: s.p95Latency, - LatencyP99Ns: s.p99Latency, + TraceID: s.traceID, + Name: s.name, + Count: s.count, + RatePerSec: safeRate(s.count, rateDiv), + Errors: s.errorCount, + Bytes: s.totalBytes, + LatencyMinNs: s.minLatency, + LatencyMaxNs: s.maxLatency, + LatencyMeanNs: float64(s.totalLatency) / float64(maxU64(s.count, 1)), + TotalLatencyNs: s.totalLatency, + LatencyP50Ns: s.p50Latency, + LatencyP95Ns: s.p95Latency, + LatencyP99Ns: s.p99Latency, } } -- cgit v1.2.3