5.4. DNS resolver

These commands can clear and view statistics about the asynchronous DNS resolver’s built-in cache.

$ halonctl process-stats | grep resolver.cache
resolver.cache.size: 5
resolver.cache.hits: 897
resolver.cache.misses: 1624
resolver.cache.expires: 1566
resolver.cache.evicts: 0
resolver.cache.skips: 0
$ halonctl resolver clear

There is also a command to test the DNS resolvers behavior as for choosing the next-hop based on a transactionid and retry count.

$ halonctl resolver query --seed 67b06545-2592-11eb-a941-f1a44e94c1b9 --retry 3 halon.io
address: 2a02:750:7:3305::ee
hostname: mx.halon.io
dnssec: true
tlsa:
  dnssec: true
  rr:
    - usage: 3
      selector: 1
      mtype: 1
      data: 42568063726264388f17d494cd3d01079ba1df4e60b1448e5670544cd7739218

There is also a command to view the DNS resolvers active (running) queries.

$ halonctl resolver list
┌────────────────────────────┬──────────┐
│ Hostname                   │ Duration │
├────────────────────────────┼──────────┤
│ example.com                │ 0.664586 │
│ example.org                │ 0.569450 │
│ example.net                │ 0.317264 │
└────────────────────────────┴──────────┘

There is also a command to view the DNS resolvers queued queries.

$ halonctl resolver queue
┌──────────┬───────────────────┬──────────┬──────────┐
│ Position │ Hostname          │ Priority │ Dedup(s) │
├──────────┼───────────────────┼──────────┼──────────┤
│        0 │ example.com       │        1 │       10 │
│        1 │ example.org       │        0 │        4 │
│        2 │ example.net       │        0 │        2 │
├──────────┴───────────────────┴──────────┴──────────┤
│                                  showing 3 matches │
└────────────────────────────────────────────────────┘