From 86ab29c06ae258e0864fbfa2ba985c97e6fd61f2 Mon Sep 17 00:00:00 2001 From: Frank Denis Date: Wed, 2 Oct 2019 12:03:27 +0200 Subject: [PATCH] More Prometheus metrics --- src/resolver.rs | 11 ++++++++++- src/varz.rs | 8 -------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/resolver.rs b/src/resolver.rs index 9292510..967a74c 100644 --- a/src/resolver.rs +++ b/src/resolver.rs @@ -98,6 +98,8 @@ pub async fn resolve( packet_hash: u128, original_tid: u16, ) -> Result, Error> { + #[cfg(feature = "metrics")] + globals.varz.upstream_sent.inc(); let tid = random(); dns::set_tid(&mut packet, tid); let mut response = resolve_udp( @@ -111,6 +113,8 @@ pub async fn resolve( if dns::is_truncated(&response) { response = resolve_tcp(globals, packet, &packet_qname, tid).await?; } + #[cfg(feature = "metrics")] + globals.varz.upstream_received.inc(); if dns::rcode_servfail(&response) || dns::rcode_refused(&response) { trace!("SERVFAIL/REFUSED: {}", dns::rcode(&response)); if let Some(cached_response) = cached_response { @@ -120,7 +124,7 @@ pub async fn resolve( return Ok(cached_response.into_response()); } else { #[cfg(feature = "metrics")] - globals.varz.client_queries_errors.inc(); + globals.varz.upstream_errors.inc(); } } else { trace!("Adding to cache"); @@ -128,6 +132,11 @@ pub async fn resolve( globals.cache.lock().insert(packet_hash, cached_response); } dns::set_tid(&mut response, original_tid); + #[cfg(feature = "metrics")] + globals + .varz + .upstream_response_sizes + .observe(response.len() as f64); Ok(response) } diff --git a/src/varz.rs b/src/varz.rs index 3130948..41ac74d 100644 --- a/src/varz.rs +++ b/src/varz.rs @@ -20,7 +20,6 @@ pub struct Inner { pub upstream_errors: Counter, pub upstream_sent: Counter, pub upstream_received: Counter, - pub upstream_timeout: Counter, pub upstream_response_sizes: Histogram, } @@ -123,13 +122,6 @@ impl Inner { labels! {"handler" => "all",} )) .unwrap(), - upstream_timeout: register_counter!(opts!( - "encrypted_dns_upstream_timeout", - "Number of upstream servers responses \ - having timed out", - labels! {"handler" => "all",} - )) - .unwrap(), upstream_response_sizes: register_histogram!(histogram_opts!( "encrypted_dns_upstream_response_sizes", "Response size in bytes",