From 2c4af77f5f7231b560c344ccaff3cc73f0d616e9 Mon Sep 17 00:00:00 2001 From: Jesper Jensen Date: Sun, 4 May 2025 00:39:13 +0200 Subject: Refactor lookup init and add routing table metric I think it would be nice to see the detailed routing table occupancy. I've added a metric that exposes the current occupancy of each bucket. That should provide me some insight into the current distribution of nodes and if we need to find a way to keep the closer buckets alive. --- src/metrics.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/metrics.c') diff --git a/src/metrics.c b/src/metrics.c index 115b782..cb5fe1c 100644 --- a/src/metrics.c +++ b/src/metrics.c @@ -18,6 +18,8 @@ prom_gauge_t *activeNodes = NULL; prom_gauge_t *requestsInFlight = NULL; prom_counter_t *retries = NULL; prom_counter_t *keepalive_count = NULL; +prom_counter_t *lookup_count = NULL; +prom_gauge_t *routing_table_occupied = NULL; enum MHD_Result promhttp_handler( void *cls, @@ -202,6 +204,24 @@ void metric_init() { NULL ) ); + + lookup_count = prom_collector_registry_must_register_metric( + prom_counter_new( + "dht_lookup_count", + "Number of lookup commands issued", + 0, + NULL + ) + ); + + routing_table_occupied = prom_collector_registry_must_register_metric( + prom_gauge_new( + "dht_routing_occupancy", + "Number of nodes in each routing bucket", + 1, + (const char *[]) {"dist"} + ) + ); } void metric_end() { -- cgit v1.2.3