Class DNSServerMetrics

java.lang.Object
org.bluezoo.gumdrop.dns.DNSServerMetrics

public class DNSServerMetrics extends Object
OpenTelemetry metrics for DNS servers.

This class provides standardized DNS server metrics for monitoring name resolution operations.

Metrics provided:

  • dns.server.queries - Total queries received (by type)
  • dns.server.responses - Responses sent (by rcode)
  • dns.server.query.duration - Query processing duration
  • dns.server.cache.hits - Cache hits
  • dns.server.cache.misses - Cache misses
  • dns.server.upstream.queries - Queries forwarded upstream
  • dns.server.upstream.duration - Upstream query duration
Author:
Chris Burdess
  • Constructor Details

    • DNSServerMetrics

      public DNSServerMetrics(TelemetryConfig config)
      Creates DNS server metrics using the given telemetry configuration.
      Parameters:
      config - the telemetry configuration
  • Method Details

    • queryReceived

      public void queryReceived(String queryType, String transport)
      Records a DNS query received.
      Parameters:
      queryType - the query type name (e.g. "A", "AAAA", "MX")
      transport - the transport protocol (e.g. "udp", "dot", "doq")
    • responseSent

      public void responseSent(String rcode, double durationMs, String transport)
      Records a DNS response sent.
      Parameters:
      rcode - the response code name (e.g. "NOERROR", "NXDOMAIN", "SERVFAIL")
      durationMs - the query processing duration in milliseconds
      transport - the transport protocol (e.g. "udp", "dot", "doq")
    • cacheHit

      public void cacheHit()
      Records a cache hit.
    • cacheMiss

      public void cacheMiss()
      Records a cache miss.
    • upstreamQuery

      public void upstreamQuery(double durationMs)
      Records an upstream query.
      Parameters:
      durationMs - the upstream query duration in milliseconds
    • upstreamFailure

      public void upstreamFailure()
      Records a failed upstream query.