Statistics
dinio stats reads the counts Dinio’s DNS servers report for your zones and your clients. See
Statistics for what the numbers mean.
dinio stats zones --since 7d --comparedinio stats zone example.com --by qtype --since 7d --step 1ddinio stats names example.com --limit 10dinio stats client phone --by event_typedinio stats blocked --since 24hSERIES TOTAL SHARE PER SECOND PEAK STEPA 30112 62.5% 0.050 5210 at 2026-10-26 00:00 UTCAAAA 11870 24.6% 0.020 2034 at 2026-10-26 00:00 UTCNXDOMAIN 4120 8.5% 0.007 761 at 2026-10-22 00:00 UTCThe servers report in 10-minute windows, and data is kept for 90 days. How far back you can
read depends on the package: a zone’s statistics on
its Owner’s, a client’s on yours. -o json prints the
API’s full answer, with every point (times in milliseconds).
DNS hosting
Section titled “DNS hosting”These need access to the zone; a zone key works for its own zone.
| Command | |
|---|---|
stats zones |
Queries to all of your zones together. --by rcode (default), qtype, geo or none. |
stats top-zones |
Your busiest zones, with their NXDOMAIN count and share. |
stats zone ZONE |
Queries to the zone. --by rcode (default), qtype, geo (country), name or none. --name NAME (relative to the zone, @ for the apex) for one name. |
stats nx ZONE |
NXDOMAIN answers under the zone, and an estimate of how many distinct names were missing. |
stats names ZONE |
The zone’s busiest names, with their response codes and types. |
stats nx-names ZONE |
The most asked names under the zone that don’t exist. |
DNS filtering
Section titled “DNS filtering”These need a personal key. CLIENT is a client’s name, IDENTIFY value or uuid; without it,
all of your clients count.
| Command | |
|---|---|
stats client [CLIENT] |
Lookups by outcome. --by event_type (default; sinkhole = blocked), client or none. |
stats rcodes [CLIENT] |
Answers by response code. --by rcode (default), client or none. |
stats blocked [CLIENT] |
The names your lists blocked most often. |
Options
Section titled “Options”Every stats command takes a range:
| Option | |
|---|---|
--since DURATION |
Up to now, this far back: 1h, 24h, 7d. |
--from TIME, --to TIME |
RFC 3339 with an offset, e.g. 2026-10-27T08:00:00Z. Not with --since. |
Without them, the last 24 hours. A range spans at most 92 days.
Series (zones, zone, nx, client, rcodes) also take:
| Option | |
|---|---|
--step STEP |
auto (default), 10m, 30m, 1h, 3h, 6h, 12h, 1d or 7d. |
--compare |
Also compare with the preceding range of equal length (adds a CHANGE column). |
--limit N |
Series kept, 1–100 (default 20); the rest is merged into “Other”. |
Top lists (top-zones, names, nx-names, blocked) take --limit N, 1–100 (default 20).