Skip to main content

Network health

The service map shows what your services say to each other. Network health shows whether the wire between them is slow or refusing connections: per-edge TCP RTT, failed/reset connections and retransmits, measured in the kernel by OBI — no traces, no SDKs, no app changes.

Retransmits matter more than they look. A link can lose packets steadily and still report a healthy round-trip time, because what survives the loss arrives promptly — the retransmission is the cost, paid in the caller's tail latency, and RTT alone will not show it. An edge that is retransmitting is marked unhealthy on that basis alone.

On the edge​

Hover a node to focus its neighbourhood: everything else fades, its edges thicken, and each one is labelled right on the line with rpm, p95 (the caller's own latency for that path — a separate number from RTT p95), error rate and RTT where OBI measured it, with a mid-line arrowhead for direction. Hover an edge directly for the fuller tooltip, which adds retransmits, failed connections and flow bytes. Either way, an edge turns amber and dashed when RTT is high or connections are failing; if traces already mark the edge red with application errors, red takes precedence — an app failure outranks a slow wire.

How it works​

OBI's TCP-stats feature emits two metrics per connection pair: obi.stat.tcp.rtt (a histogram) and obi.stat.tcp.failed.connections (a counter whose reason label carries resets). They land in the existing metric tables — no migration, no new storage — and the hub joins them onto service-map edges at query time.

This is not a module: it's an enrichment of the core service map, active when the sensor's OBI network feature is on and the infra-metrics module is enabled.

Use cases​

  • See the slow link before the SLO burns. Kernel RTT rises before p95 request latency does the accounting for you — an amber edge is an early, localized symptom.
  • Split "network fault" from "app fault" on one screen. A red edge with a clean wire points at the application; an amber wire under a healthy service points at the network. Same topology, one glance.
  • Health for edges you never instrumented. Legacy or third-party services with no SDK still get L4 health on their edges, because the kernel sees every connection.

:::caution Validation pending The exact OBI stats configuration key and the per-edge Kubernetes owner attribution are not yet verified against a running eBPF cluster. Until they're confirmed in a real kind/eBPF environment, treat this feature as experimental — it ships off by default for exactly this reason (sensor.obi.network.enabled). :::

Limitations​

  • No packet drops — the sensor does not emit a drop counter, so drops are not shown. Retransmits, which cover most of the same ground, are.
  • Failed-connection counts are an approximation — a sum over a cumulative counter, not a sessionized count.
  • Only attributed edges appear — an edge needs both endpoints resolved to a Kubernetes owner by OBI.

:::note This page is expanding See the changelog entry, the Roadmap and Feature status. :::