Tech Specs / Interface Flapping

Interface flapping detection

Alongside monitoring remote hosts, ProbeScope independently tracks the up/down state of the local network interface it's running on — the link itself, not just what's reachable through it.

What's monitored

An interface qualifies as "active" when the operating system reports it as up, it's not the loopback interface, and it has at least one assigned IP address — checked both at startup and on every polling tick.

Polling and display

The interface's state is polled once per second, independent of any host's ping schedule. In the TUI title bar and the web console, it shows as a badge:

ProbeScope terminal showing the en0 [up] badge, title-bar placement, with a clean fleet
en0 [up] — the title-bar badge
ProbeScope terminal showing en0 [up] again after a flap, with every host's sparkline sharing the same synchronized red band
Badge recovers, but the shared red band in every history column is the record of the flap

For an interface pinned explicitly via --interface, a genuine interface drop also surfaces through ping results themselves — pings on the stale source IP start producing errors, so affected hosts correctly show as down too, not just the badge.

Why this matters for triage

Without interface-level awareness, twelve hosts failing at once looks like twelve separate incidents. With it, the same event is immediately visible as one cause: your own network link, not the remote fleet. This is also exposed to the plugin engine (ctx.interface), so a rule can distinguish "my network dropped" from "the remote hosts are actually down" and avoid firing twelve redundant alerts for one root cause — see the plugins topic for the interface_correlation.star pattern this enables.

Persistent history

Every interface up/down transition — start time, end time, duration — is recorded the same way host periods are, when --db is enabled: see the history topic for schema and retention.

Related

  • Detection — the same threshold/probing model, applied to remote hosts rather than the local link.
  • Plugins — write a rule against ctx.interface.up to correlate interface state with host failures.