From a6b8b59f9f9233842e4909b5bb7dd216f631f3e3 Mon Sep 17 00:00:00 2001 From: SupDex Date: Fri, 23 Apr 2021 19:23:50 +0300 Subject: [PATCH] add geocofing requests duration --- config/initializers/consumer.rb | 9 ++++++++- config/initializers/prometheus.rb | 6 ++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/config/initializers/consumer.rb b/config/initializers/consumer.rb index c6e46ea..9e3b0b1 100644 --- a/config/initializers/consumer.rb +++ b/config/initializers/consumer.rb @@ -1,3 +1,5 @@ +require 'benchmark' + channel = RabbitMq.consumer_channel queue = channel.queue('geocoding', durable: true) @@ -5,7 +7,12 @@ Thread.current[:request_id] = properties.headers['request_id'] payload = JSON(payload) - coordinates = Geocoder.geocode(payload['city']) + + coordinates = nil + + Metrics.geocoding_requests_duration.observe( + Benchmark.realtime { coordinates = Geocoder.geocode(payload['city']) }, labels: { result: :coordinates } + ) Application.logger.info( 'geocoded coordinates', diff --git a/config/initializers/prometheus.rb b/config/initializers/prometheus.rb index d654461..10e0468 100644 --- a/config/initializers/prometheus.rb +++ b/config/initializers/prometheus.rb @@ -7,4 +7,10 @@ docstring: 'The total number of geocoding requests.', labels: %i[result] ) + + registry.histogram( + :geocoding_requests_duration, + docstring: 'The duration of geocode by city', + labels: %i[result] + ) end