diff --git a/src/main.zig b/src/main.zig index 69b3622..2042673 100644 --- a/src/main.zig +++ b/src/main.zig @@ -189,6 +189,9 @@ const MetricsServer = struct { \\# HELP zio_sched_events_rearmed_total readiness delivered for a fiber that was not parked. poller delivery destroys the arm, so before the re-arm each of these was a permanently lost wake. has never ticked in prod or under soak — the 2026-08-18 forensics retired it as that incident's cause. nonzero means the defect fired for real. \\# TYPE zio_sched_events_rearmed_total counter \\zio_sched_events_rearmed_total {d} + \\# HELP zio_sched_inject_drops_total cross-thread wakes dropped on allocation failure. every one is a fiber that may be parked forever. must stay zero. + \\# TYPE zio_sched_inject_drops_total counter + \\zio_sched_inject_drops_total {d} \\# HELP zio_poller_registrations fds with an armed direction (collapse = erosion) \\# TYPE zio_poller_registrations gauge \\zio_poller_registrations {d} @@ -207,11 +210,12 @@ const MetricsServer = struct { \\# TYPE zio_fiber_starts gauge \\ , .{ - d.sched.switches, d.sched.live, d.sched.ready, - d.sched.parked, d.sched.futex_waiters, d.sched.timers, - d.sched.inject_pending, d.sched.free_list, d.sched.events_rearmed, - d.poller_registrations, d.sched.arm_failures, d.sched.last_arm_errno, - d.dns_queued, d.dns_workers, d.dns_idle, + d.sched.switches, d.sched.live, d.sched.ready, + d.sched.parked, d.sched.futex_waiters, d.sched.timers, + d.sched.inject_pending, d.sched.free_list, d.sched.events_rearmed, + d.sched.inject_drops, d.poller_registrations, d.sched.arm_failures, + d.sched.last_arm_errno, d.dns_queued, d.dns_workers, + d.dns_idle, }) catch ""; var total = base_body.len; if (total + extra.len <= metrics_buf.len) {