More Prometheus metrics

pull/5/head
Frank Denis 5 years ago
parent 0ac34d03a5
commit cd98c5627c

@ -115,7 +115,12 @@ pub async fn resolve(
trace!("SERVFAIL/REFUSED: {}", dns::rcode(&response));
if let Some(cached_response) = cached_response {
trace!("Serving stale");
#[cfg(feature = "metrics")]
globals.varz.client_queries_offline.inc();
return Ok(cached_response.into_response());
} else {
#[cfg(feature = "metrics")]
globals.varz.client_queries_errors.inc();
}
} else {
trace!("Adding to cache");
@ -133,6 +138,8 @@ pub async fn get_cached_response_or_resolve(
let packet_qname = dns::qname(&packet)?;
if let Some(blacklist) = &globals.blacklist {
if blacklist.find(&packet_qname) {
#[cfg(feature = "metrics")]
globals.varz.client_queries_blocked.inc();
return dns::serve_empty_response(packet.to_vec());
}
}
@ -156,9 +163,13 @@ pub async fn get_cached_response_or_resolve(
cached_response.set_tid(original_tid);
if !cached_response.has_expired() {
trace!("Cached");
#[cfg(feature = "metrics")]
globals.varz.client_queries_cached.inc();
return Ok(cached_response.into_response());
}
trace!("Expired");
#[cfg(feature = "metrics")]
globals.varz.client_queries_expired.inc();
Some(cached_response)
}
};

@ -7,11 +7,6 @@ pub struct StartInstant(pub Instant);
pub struct Inner {
pub start_instant: StartInstant,
pub uptime: Gauge,
pub cache_frequent_len: Gauge,
pub cache_recent_len: Gauge,
pub cache_test_len: Gauge,
pub cache_inserted: Gauge,
pub cache_evicted: Gauge,
pub client_queries: Gauge,
pub client_queries_udp: Counter,
pub client_queries_tcp: Counter,
@ -19,6 +14,7 @@ pub struct Inner {
pub client_queries_expired: Counter,
pub client_queries_offline: Counter,
pub client_queries_errors: Counter,
pub client_queries_blocked: Counter,
pub inflight_udp_queries: Gauge,
pub inflight_tcp_queries: Gauge,
pub upstream_errors: Counter,
@ -44,39 +40,6 @@ impl Inner {
labels! {"handler" => "all",}
))
.unwrap(),
cache_frequent_len: register_gauge!(opts!(
"encrypted_dns_cache_frequent_len",
"Number of entries in the cached set of \
frequent items",
labels! {"handler" => "all",}
))
.unwrap(),
cache_recent_len: register_gauge!(opts!(
"encrypted_dns_cache_recent_len",
"Number of entries in the cached set of \
recent items",
labels! {"handler" => "all",}
))
.unwrap(),
cache_test_len: register_gauge!(opts!(
"encrypted_dns_cache_test_len",
"Number of entries in the cached set of \
staged items",
labels! {"handler" => "all",}
))
.unwrap(),
cache_inserted: register_gauge!(opts!(
"encrypted_dns_cache_inserted",
"Number of entries added to the cache",
labels! {"handler" => "all",}
))
.unwrap(),
cache_evicted: register_gauge!(opts!(
"encrypted_dns_cache_evicted",
"Number of entries evicted from the cache",
labels! {"handler" => "all",}
))
.unwrap(),
client_queries: register_gauge!(opts!(
"encrypted_dns_client_queries",
"Number of client queries received",
@ -124,6 +87,12 @@ impl Inner {
labels! {"handler" => "all",}
))
.unwrap(),
client_queries_blocked: register_counter!(opts!(
"encrypted_dns_client_queries_blocked",
"Number of blocked client queries",
labels! {"handler" => "all",}
))
.unwrap(),
inflight_udp_queries: register_gauge!(opts!(
"encrypted_dns_inflight_udp_queries",
"Number of UDP queries currently waiting for a response",

Loading…
Cancel
Save