From c07dd725cbd4ebc4415f253754252e2d477ca28e Mon Sep 17 00:00:00 2001 From: PhilipDeFraties Date: Fri, 31 Jan 2025 15:46:43 -0700 Subject: [PATCH 1/3] add statsd metric capture for failed request in ProvidersController#show --- .../vaos/app/controllers/vaos/v2/providers_controller.rb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/vaos/app/controllers/vaos/v2/providers_controller.rb b/modules/vaos/app/controllers/vaos/v2/providers_controller.rb index 1c4de6bc986..601642d9b0d 100644 --- a/modules/vaos/app/controllers/vaos/v2/providers_controller.rb +++ b/modules/vaos/app/controllers/vaos/v2/providers_controller.rb @@ -3,9 +3,16 @@ module VAOS module V2 class ProvidersController < VAOS::BaseController + STATSD_KEY = 'api.vaos.providers' + def show provider_data = vaos_serializer.serialize(provider, 'providers') render json: { data: provider_data } + rescue => e + StatsDMetric.new(key: STATSD_KEY).save + StatsD.increment(STATSD_KEY, tags: ["error:#{e.class.name}"]) + + raise e end private From e67dc95ca879c8892990a0b2cfc8963c9809da3b Mon Sep 17 00:00:00 2001 From: PhilipDeFraties Date: Mon, 3 Feb 2025 16:38:41 -0700 Subject: [PATCH 2/3] remove statsd monitoring implementation from ProvidersController --- .../vaos/app/controllers/vaos/v2/providers_controller.rb | 7 ------- 1 file changed, 7 deletions(-) diff --git a/modules/vaos/app/controllers/vaos/v2/providers_controller.rb b/modules/vaos/app/controllers/vaos/v2/providers_controller.rb index 601642d9b0d..1c4de6bc986 100644 --- a/modules/vaos/app/controllers/vaos/v2/providers_controller.rb +++ b/modules/vaos/app/controllers/vaos/v2/providers_controller.rb @@ -3,16 +3,9 @@ module VAOS module V2 class ProvidersController < VAOS::BaseController - STATSD_KEY = 'api.vaos.providers' - def show provider_data = vaos_serializer.serialize(provider, 'providers') render json: { data: provider_data } - rescue => e - StatsDMetric.new(key: STATSD_KEY).save - StatsD.increment(STATSD_KEY, tags: ["error:#{e.class.name}"]) - - raise e end private From 527f2a54c70780dddaf41a7640164c4559f01250 Mon Sep 17 00:00:00 2001 From: PhilipDeFraties Date: Mon, 3 Feb 2025 16:41:15 -0700 Subject: [PATCH 3/3] update Eps::ProviderService#get_provider_service - wrap logic in with_monitoring block provided by Common::Client::Concerns::Monitoring#with_monitoring to track successful and failed requests to EPS for provider data --- modules/vaos/app/services/eps/provider_service.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/vaos/app/services/eps/provider_service.rb b/modules/vaos/app/services/eps/provider_service.rb index ab06ea4dcc5..d6a8c28cf26 100644 --- a/modules/vaos/app/services/eps/provider_service.rb +++ b/modules/vaos/app/services/eps/provider_service.rb @@ -2,6 +2,7 @@ module Eps class ProviderService < BaseService + STATSD_KEY_PREFIX = 'api.vaos.providers_service' ## # Get providers data from EPS # @@ -19,9 +20,10 @@ def get_provider_services # @return OpenStruct response from EPS provider endpoint # def get_provider_service(provider_id:) - response = perform(:get, "/#{config.base_path}/provider-services/#{provider_id}", - {}, headers) - OpenStruct.new(response.body) + with_monitoring do + response = perform(:get, "/#{config.base_path}/provider-services/#{provider_id}", {}, headers) + OpenStruct.new(response.body) + end end ##