From 9a5b592dd0df85132a42b1163fe1435583dbd67a Mon Sep 17 00:00:00 2001 From: Jamie Gaskins Date: Fri, 26 Sep 2025 12:36:42 -0400 Subject: [PATCH] Add total number of SQL and Redis calls --- lib/prometheus_exporter/server/web_collector.rb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/prometheus_exporter/server/web_collector.rb b/lib/prometheus_exporter/server/web_collector.rb index 61575241..ebc0451c 100644 --- a/lib/prometheus_exporter/server/web_collector.rb +++ b/lib/prometheus_exporter/server/web_collector.rb @@ -7,7 +7,9 @@ def initialize @http_requests_total = nil @http_request_duration_seconds = nil @http_request_redis_duration_seconds = nil + @http_request_redis_calls = nil @http_request_sql_duration_seconds = nil + @http_request_sql_calls = nil @http_request_queue_duration_seconds = nil @http_request_memcache_duration_seconds = nil end @@ -47,12 +49,23 @@ def ensure_metrics "Time spent in HTTP reqs in Redis, in seconds.", ) + @metrics["http_request_redis_calls"] = @http_request_redis_calls = + PrometheusExporter::Metric::Counter.new( + "http_request_redis_calls", + "Total number of Redis calls made inside an HTTP request.", + ) + @metrics["http_request_sql_duration_seconds"] = @http_request_sql_duration_seconds = PrometheusExporter::Metric::Base.default_aggregation.new( "http_request_sql_duration_seconds", "Time spent in HTTP reqs in SQL in seconds.", ) + @metrics["http_request_sql_calls"] = @http_request_sql_calls = PrometheusExporter::Metric::Counter.new( + "http_request_sql_calls", + "The total number of SQL queries made inside an HTTP request." + ) + @metrics[ "http_request_memcache_duration_seconds" ] = @http_request_memcache_duration_seconds = @@ -80,9 +93,11 @@ def observe(obj) @http_request_duration_seconds.observe(timings["total_duration"], labels) if redis = timings["redis"] @http_request_redis_duration_seconds.observe(redis["duration"], labels) + @http_request_redis_calls.increment(labels, redis["calls"]) end if sql = timings["sql"] @http_request_sql_duration_seconds.observe(sql["duration"], labels) + @http_request_sql_calls.increment(labels, sql["calls"]) end if memcache = timings["memcache"] @http_request_memcache_duration_seconds.observe(memcache["duration"], labels)