Understand
your connection
How octomon judges what it measures — and what the terms on screen actually mean. Short answers here; the analysis overlay (y) always shows its evidence in the app itself.
FAQ
The questions the dashboard tends to raise, answered the way octomon actually works.
How does octomon learn what "normal" is for a network?
Every network you join is fingerprinted (Wi-Fi name plus the router's hardware address, so it survives address changes and mesh roaming) and gets its own baseline. Once a minute — but only when the connection is behaving — octomon folds that minute's latency, loss, DNS timing and signal strength into the baseline as a running average. After about five learned minutes the location is "established" and judgments become relative to its normal.
Minutes with an active problem never teach the baseline, so an outage can't redefine "normal". One refinement: a minute that is only latency-congested (a busy hotel evening) still teaches the honest parts — loss and signal — while its inflated round trips are discarded.
Why do the same numbers get different colors at different locations?
Because "is this bad?" depends on where you are. Latency and loss are graded against the location's learned normal, with absolute limits kept as floors. 200 ms at your fiber-connected office is a red flag; on a satellite-backed hotel network whose normal is 200 ms, it's just Tuesday. Plane Wi-Fi running 30% packet loss while the web still works reads as that network's weather — the same 30% at home is an incident.
The floors mean a clean network never gets graded leniently: learning only ever raises the bar for what counts as unusual, never lowers what counts as good.
Does running a speed test skew the analysis?
No. A speed test saturates your link on purpose, so while it runs (and briefly after), octomon attributes the resulting loss and latency to its own test instead of raising alarms about the network. Bufferbloat measured under that load is still reported — that's the honest reading of the moment — but it's labeled as the test's doing.
Speed tests also teach: the result is stored per network (with the serving server), and becomes the capacity octomon compares your live traffic against when deciding whether congestion is self-inflicted.
Why does the analysis lag behind the Connection Quality graphs?
Deliberately. The graphs are raw truth, updated every second. The analysis applies hysteresis: a finding must show up repeatedly before it raises, and must stay quiet for a stretch before it clears — with a grace period so a fault that flaps every half minute reads as one episode, not twenty. One dropped ping is not an outage, and an analysis that repainted itself every second would be noise, not judgment.
The gateway shows 100% loss but my internet works fine. Is octomon wrong?
Almost certainly not — your router is ignoring pings addressed to itself while forwarding everything else perfectly, a common policy on airport, hotel and office networks. octomon checks the consensus: if targets beyond the gateway answer cleanly, every packet demonstrably passed through it, so the claim becomes a note — "gateway drops ICMP (forwarding fine)" — rather than a red alarm. A genuinely dead gateway takes everything behind it down within seconds, and that state does read as an outage.
What does "degraded but usable" mean?
It's the honest verdict for plane and hotel Wi-Fi: ping-based measurements look like an outage (heavy loss, huge latency), yet octomon's web check — a real HTTPS request, exercising DNS, TCP and TLS end to end — keeps succeeding. Working web traffic is direct evidence no amount of ICMP loss outweighs, so instead of crying outage the verdict says: expect slow pages and stalling calls, not a dead connection.
Why does a middle hop show 100% loss when later hops are fine?
Routers answer traceroute probes with their control plane — the same little CPU that runs the router — and many rate-limit or ignore that work entirely while forwarding your actual traffic at full speed in hardware. If a hop shows loss but every hop after it is clean, your packets clearly made it through; octomon counts such hops as "silent" rather than blaming them. Loss is only pinned on the path when it begins at a hop and persists to everything downstream.
Why does the analysis sometimes blame my own machine?
Because sometimes it's right to. octomon watches its host's own traffic per process, and when latency inflates while your machine is pushing a large share of the link's known capacity, the finding says so: "this machine is loading the link (mostly firefox) — likely self-induced bufferbloat". When your machine is quiet, it says that too, and points at other users or the access point. Blaming the network for your own ISO download helps nobody.
Why did the same speed test give different numbers an hour apart?
Three usual suspects: shared capacity genuinely changed (hotel evenings), the provider picked a different server, or a public test server was rate-limiting. octomon records which server ran each test and on which network — zoom the history (z) to compare like with like, and delete (d) results you know were the server's fault.
Does octomon send my data anywhere?
No. Baselines, incident history and speed-test results live in
a local data directory on your machine; there is no account, no
telemetry, no cloud. The only network traffic octomon generates is
its own measurements — pings, DNS queries, HTTPS checks and the
speed tests you trigger — and the README documents every endpoint
it contacts and why. The --doctor report redacts
addresses by default so it's safe to paste into an ISP ticket.
Glossary
The terms on octomon's screens, in plain language — each with one good link for the full story.
latency
How long data takes to get somewhere — the delay, not the volume. A connection can be huge and still slow to react: bandwidth is how wide the pipe is, latency is how long the pipe is. It's what makes video calls awkward and games unplayable long before downloads suffer.
RTT · round-trip time
The time for a packet to reach a destination and for the reply to come back — what a ping measures, and what octomon's latency columns show. Measured in milliseconds; a wired LAN runs ~1–5 ms, a good home connection ~10–30 ms to major sites, satellite links hundreds.
jitter
How much the latency varies from packet to packet. A steady 80 ms is fine for a call; latency bouncing between 20 and 300 ms is not, even though it averages less — the receiver can't tell when the next packet will arrive. Real-time audio and video care about jitter more than about latency itself.
packet loss
The share of packets that never arrive. TCP hides small amounts by resending — you experience it as slowness, not absence — but real-time traffic can't wait for resends, so calls break up. octomon judges loss over a recent window, against what's normal for the network you're on.
p95 · 95th percentile
The value 95% of samples stay under — so a p95 of 200 ms means one ping in twenty was worse than that. Averages hide spikes; the p95 is roughly "how bad are the bad moments", which is usually what you actually feel.
bufferbloat
Latency caused by over-large queues in routers and modems: under load (a big upload, a cloud backup) packets wait in line, and your 20 ms connection quietly becomes 400 ms. It's why video calls die when someone starts a download. octomon measures it as the "bloat" figure — latency under load minus latency at idle.
DNS · domain name system
The internet's phone book: it turns names like octomon.dev into addresses machines can route to. Every web page starts with DNS lookups, so a slow or broken resolver makes the whole internet feel broken while pings still look perfect. octomon times every resolver you use and checks its honesty against a public reference.
DHCP
How your device gets its network settings when it joins: the router leases it an IP address and tells it the gateway and DNS servers to use. When DHCP fails you get a self-assigned 169.254.x.x address and nothing works — one of the first things octomon's ladder checks.
gateway
The first hop out: the router your device sends everything to when the destination isn't on your local network — at home, your Wi-Fi router. If the gateway is unreachable, nothing beyond your own walls is, which is why it sits near the bottom of octomon's triage ladder.
ICMP
The internet's control-message protocol — what ping and traceroute are built on. Useful because everything speaks it; misleading because routers deprioritize or block it as policy, so ICMP can look terrible while real traffic flows. octomon cross-checks ICMP against real HTTPS requests for exactly that reason.
MTU · maximum transmission unit
The largest packet a link will carry, typically 1500 bytes. When a link in the path is narrower (VPNs, PPPoE) and the messages that would say so get blocked, big packets vanish silently — a "path MTU black hole": pings and small pages work, big downloads and VPNs stall. octomon probes for this explicitly.
NAT · CGNAT
Address translation: your router puts many devices behind one public IP. Carrier-grade NAT (CGNAT) is the same trick applied by your ISP to whole neighborhoods — you're behind two layers, which breaks inbound connections, port forwarding and some games. octomon detects double-NAT by looking at who answers at hop 2.
captive portal
The sign-in page hotel and airport networks put in front of the internet. Until you satisfy it, the network intercepts your traffic — DNS may answer and pings may fly, but nothing real gets through, which confuses most diagnostics. octomon detects the interception and says so before judging anything else.
traceroute · hops
A trick that maps the path your packets take: send probes with increasing time-to-live values and each router in line reveals itself as it discards one. Each router is a "hop". It shows where along the path delay or loss begins — octomon runs it once with t or continuously with m.
TTL · time to live
A counter in every packet that each router decrements; at zero the packet is discarded. It exists to stop lost packets circling forever — and traceroute exploits it deliberately to make each router along the path identify itself.
RSSI · dBm
Wi-Fi signal strength, in decibel-milliwatts — negative numbers where closer to zero is stronger: −40 dBm is excellent, −70 dBm is getting marginal, −85 dBm is barely holding on. Because the scale is logarithmic, a few dBm of difference matters more than it looks.
anycast
One address, announced from many places at once — the routing system delivers you to the nearest. It's how 1.1.1.1 and most CDNs answer quickly worldwide, and why the "same" server can be a different machine from your hotel than from your home. octomon's speed-test history records which one actually served you.