Cable verdict folded into one console cell (length green, fault name red, xover amber, fail; diag rule lines and counters-reset line gone), reset fires at the press not diag completion, and the measure's blip is suppressed at every counter source instead of counted-hidden-reverted: worker error adds, loss-window write-offs (quiet slides state without charging; leaving the quiet era presumes in-window holes delivered so the gap's tail is never charged late), NIC poller tracks raw without accumulating, socket drops discarded, modules un-primed by the measure itself; display hold deleted so pre-existing errors no longer blink out during a measure

This commit is contained in:
flamingcow
2026-08-17 11:25:31 -07:00
parent 3d7105073e
commit e3c3f945c5
10 changed files with 220 additions and 188 deletions
+9 -7
View File
@@ -17,12 +17,13 @@ type txStats struct {
}
type txWorker struct {
fd int
stream uint16
spec *frameSpec
batch int
stats *txStats
startTx <-chan struct{}
fd int
stream uint16
spec *frameSpec
batch int
stats *txStats
measuring *atomic.Bool
startTx <-chan struct{}
}
func (w *txWorker) run(done *atomic.Bool) {
@@ -63,7 +64,8 @@ func (w *txWorker) run(done *atomic.Bool) {
}
// Taking fewer of the vector than offered is the ring's room, not a frame
// lost: the rest go on the next pass.
if n < 0 && err != unix.EINTR && err != unix.EAGAIN && err != unix.ENOBUFS {
if n < 0 && err != unix.EINTR && err != unix.EAGAIN && err != unix.ENOBUFS &&
!w.measuring.Load() {
w.stats.errs.Add(1)
}
}