From c2075586084ece032e47adba2aacbc507adc2b26 Mon Sep 17 00:00:00 2001 From: Jesper Jensen Date: Sun, 4 May 2025 22:21:05 +0200 Subject: Expose the hash table size as a metric --- src/metrics.c | 10 ++++++++++ src/metrics.h | 1 + src/peers.c | 1 + 3 files changed, 12 insertions(+) diff --git a/src/metrics.c b/src/metrics.c index eb50f09..c1113a7 100644 --- a/src/metrics.c +++ b/src/metrics.c @@ -10,6 +10,7 @@ prom_counter_t *meta = NULL; prom_counter_t *peers = NULL; prom_gauge_t *current_hashes = NULL; prom_counter_t *hashes = NULL; +prom_gauge_t *hashes_size = NULL; prom_counter_t *hash_expired = NULL; prom_gauge_t *hash_next_expire = NULL; prom_counter_t *queries = NULL; @@ -132,6 +133,15 @@ void metric_init() { ) ); + hashes_size = prom_collector_registry_must_register_metric( + prom_gauge_new( + "dht_hashes_size", + "InfoHash table capacity", + 0, + NULL + ) + ); + hash_expired = prom_collector_registry_must_register_metric( prom_counter_new( "dht_hashes_expired_total", diff --git a/src/metrics.h b/src/metrics.h index 309177c..befd3aa 100644 --- a/src/metrics.h +++ b/src/metrics.h @@ -12,6 +12,7 @@ extern prom_counter_t *meta; extern prom_counter_t *peers; extern prom_gauge_t *current_hashes; extern prom_counter_t *hashes; +extern prom_gauge_t *hashes_size; extern prom_counter_t *hash_expired; extern prom_gauge_t *hash_next_expire; extern prom_counter_t *queries; diff --git a/src/peers.c b/src/peers.c index 9aff14b..239326a 100644 --- a/src/peers.c +++ b/src/peers.c @@ -202,5 +202,6 @@ void peer_update_metrics() { prom_gauge_set(hash_next_expire, next_expire, NULL); assert(computed_load == peer_table_load); + prom_gauge_set(hashes_size, peer_table_size, NULL); prom_gauge_set(current_hashes, (double)peer_table_load, NULL); } -- cgit v1.2.3