Heimdall DNS v1.2.0

Sully (@Sully) Sully (@Sully)

Per-zone bandwidth in metrics.json

Small release, one addition. Each day in metrics.json now records the bytes received and sent for that zone, alongside the existing query counters:

"example.com": {
  "2026-10-16": {"q": 901, "hit": 0, "miss": 901, "nx": 77, "rx": 33337, "tx": 94605}
}

rx is bytes received from clients, tx is bytes sent back. Together with q you get average query and response sizes per zone, which is the quickest way to spot a zone whose answers have grown after signing, or after someone adds a large TXT record.

What the numbers do and don't include

These are DNS message bytes only, not IP/UDP/TCP headers. Actual link usage is higher: add roughly 28 bytes per UDP packet over IPv4 or 48 over IPv6, plus handshake overhead for queries that arrive over TCP.

A couple of details that follow from where the counting happens:

  • A truncated answer counts the TC response actually sent, not the oversized one that was discarded.
  • A rate-limited query still counts its rx with tx at zero, so load you deliberately dropped stays visible.

Replies (0)

No replies yet.

Log in to reply.