Traffic

Know exactly what flows into your cluster

Rows, bytes and insert queries over time, uncompressed ingest vs bytes written to disk, write amplification from merges, and per-table ingestion — with smart sections that appear only when your cluster needs them.

Rows · Bytes · Insertsingestion volume over time, with failed inserts split out
Compressionuncompressed ingest vs compressed bytes on disk
Write ampbytes rewritten by merges per byte ingested
Auto-detectreplication, sharding and PeerDB sections appear only when relevant
01 · Ingestion at a glance

Rows, bytes and inserts — plus what actually hit disk

Last-24h KPIs with deltas, then time series for rows ingested, insert queries (successful vs failed, so ingestion incidents jump out), uncompressed data ingested and compressed bytes written to disk. Comparing the last two reads your effective compression over time.

  • query_log measures what clients sent; part_log measures what was stored
  • Cluster-wide compression ratio from active parts
  • Per-chart date ranges: hour, day and month granularity
02 · Presets & customization

Your traffic page, your layout

One-click presets — Auto, Ingest focus, Storage & merges, Everything — or per-section Auto / Show / Hide toggles. Auto uses smart probes (part_log availability, cluster shape, PeerDB activity) so you never stare at empty cards on a single-node server.

  • Presets are just section maps — apply one, then fine-tune
  • Auto hides a section when its data source is unavailable
  • Saved per browser, no server config needed
03 · Data movement

Replication, distribution and PeerDB — when you have them

On replicated or sharded clusters, Traffic adds replica fetch traffic and distributed query fan-out. Running a PeerDB pipeline? A PeerDB Ingestion section tracks CDC rows flowing in from Postgres. Neither renders on clusters where they do not apply.

  • Replica fetches: bytes downloaded between replicas
  • Distributed queries: initial vs secondary volume
  • PeerDB rows over time, linked to the full PeerDB feature
Gallery

More of Traffic in action

Capabilities

Everything in the box

Ingestion KPIs

Rows, bytes, insert queries and compression ratio for the last 24h, each with a delta vs the previous day.

Failed-insert visibility

Insert query volume split into successful and failed, so broken pipelines are visible at a glance.

Compression story

Uncompressed ingest vs compressed on-disk bytes, side by side, plus per-table compression ratios.

Write amplification

How many bytes merges rewrite per byte ingested — the true background cost of your insert pattern.

Top tables by ingestion

Tables ranked by rows, on-disk bytes and parts created in the last 24h, rendered as background bars.

Graceful degradation

part_log-based views show an informative empty state when part_log is off — nothing breaks.

FAQ

Common questions

Why do "data ingested" and "written to disk" differ?

Data ingested is the uncompressed payload from system.query_log; written to disk is the compressed part size from system.part_log. The ratio between them is your effective compression.

Some sections are missing — is that a bug?

No. Auto mode hides sections whose data source is unavailable: part_log disabled, no replication, no PeerDB. Use the View popover to force-show any section.

Does it need extra ClickHouse configuration?

The KPI strip and query_log charts work out of the box. Bytes on Disk, merges and top-tables views need system.part_log, which is opt-in on some distributions.

Start monitoring — advisor and alerts built in

Open the hosted dashboard and connect a cluster, or self-host with Docker, Kubernetes, or from source. Self-hosting is always free.