Add cache hit ratio

pull/5/head
Frank Denis 5 years ago
parent cca338b46b
commit a67572f6f2

@ -29,6 +29,13 @@ async fn handle_client_connection(
varz.uptime.set(uptime as f64);
let client_queries = varz.client_queries_udp.get() + varz.client_queries_tcp.get();
varz.client_queries.set(client_queries);
let cached_queries = varz.client_queries_cached.get();
let cache_hit_ratio = if client_queries <= 0.0 {
0.0
} else {
cached_queries as f64 * 100.0 / client_queries as f64
};
varz.cache_hit_ratio.set(cache_hit_ratio);
let metric_families = prometheus::gather();
let encoder = TextEncoder::new();
encoder.encode(&metric_families, &mut buffer)?;

@ -120,7 +120,10 @@ pub async fn resolve(
if let Some(cached_response) = cached_response {
trace!("Serving stale");
#[cfg(feature = "metrics")]
globals.varz.client_queries_offline.inc();
{
globals.varz.client_queries_offline.inc();
globals.varz.client_queries_cached.inc();
}
return Ok(cached_response.into_response());
} else {
#[cfg(feature = "metrics")]

@ -7,6 +7,7 @@ pub struct StartInstant(pub Instant);
pub struct Inner {
pub start_instant: StartInstant,
pub uptime: Gauge,
pub cache_hit_ratio: Gauge,
pub client_queries: Gauge,
pub client_queries_udp: Counter,
pub client_queries_tcp: Counter,
@ -45,6 +46,12 @@ impl Inner {
labels! {"handler" => "all",}
))
.unwrap(),
cache_hit_ratio: register_gauge!(opts!(
"encrypted_dns_cache_hit_ratio",
"Cache hit ratio",
labels! {"handler" => "all",}
))
.unwrap(),
client_queries_udp: register_counter!(opts!(
"encrypted_dns_client_queries_udp",
"Number of client queries received \

Loading…
Cancel
Save