More Prometheus metrics

pull/5/head
Frank Denis 5 years ago
parent cd98c5627c
commit 86ab29c06a

@ -98,6 +98,8 @@ pub async fn resolve(
packet_hash: u128,
original_tid: u16,
) -> Result<Vec<u8>, 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)
}

@ -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",

Loading…
Cancel
Save