> ## Documentation Index
> Fetch the complete documentation index at: https://radarhq.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Traffic visualization

> Live request flows on the topology graph from Hubble (Cilium), Caretta, or Istio - auto-detected, no extra config.

When you switch the topology view to **Traffic** mode, Radar overlays live request flows on top of the structural graph. Edges thicken with throughput and dim out when traffic stops. There's no extra component to install - Radar uses whatever the cluster already runs.

![Radar traffic view - topology graph with live edges weighted by throughput, hover for p50/p95/p99 latency](https://radarhq.io/images/radar/screenshot-traffic.png)

## Source priority

At startup Radar probes for traffic sources in this order:

1. **Hubble** (Cilium). Detected via `hubble-relay` Service in `kube-system` or any namespace tagged with the standard Cilium labels.
2. **Caretta**. Detected via the Caretta operator and its CRDs.
3. **Istio**. Detected via the Istio control plane and the standard mesh sidecars.
4. **None**. Traffic mode is hidden until a source is available.

You can override priority in **Settings → Traffic** or via `POST /api/traffic/source`.

## What you see

* **Edge thickness** - relative throughput in the selected window.
* **Edge color** - HTTP status class (2xx / 3xx / 4xx / 5xx) when the source provides it; otherwise neutral.
* **Edge label** - rps / latency / error rate (chosen from the legend).
* **Hover** - per-edge breakdown (top status codes, p50 / p95 / p99 latency, top callers).

## Time window

Top-right picker: live (rolling 30s), 1m, 5m, 15m, 1h. Anything beyond that pulls from Prometheus (or VictoriaMetrics) if Radar can find one - either auto-discovered or set via `--prometheus-url` / `traffic.prometheusUrl`.

## What happens when nothing's installed

Traffic mode is hidden from the toggle. You still get the full structural topology and resource browser. To turn it on, install one of:

* [Cilium with Hubble](https://docs.cilium.io/en/stable/observability/hubble/) - the most common deployment.
* [Caretta](https://github.com/groundcover-com/caretta) - eBPF, no CNI dependency.
* [Istio](https://istio.io/) - service mesh.

## RBAC for Hubble TLS

If your Hubble Relay uses TLS (the default in modern Cilium), Radar needs to read the relay's TLS certs. The Helm chart enables this by default with `rbac.traffic: true`. Set it to `false` to disable Hubble support entirely.

## Privacy

Traffic mode shows aggregates - rps, latency, status. It doesn't capture or display request bodies, headers, or paths. Hubble can be configured for L7 visibility (Cilium HTTP-aware policies); when that's available, Radar surfaces the L7 method / route on edges, otherwise just L4.

## See also

* [Topology view](/docs/features/topology) - the structural graph the traffic overlay sits on.
* [Configuration files](/docs/configuration/files) - `prometheusUrl` for out-of-cluster metrics.
* [Integrations & CRDs](/docs/features/integrations) - which mesh / CNI integrations are recognized.
