From 3405bb7b9ff37df4b2d20072e5f5c0760ab7d02a Mon Sep 17 00:00:00 2001 From: Brandon Cooper Date: Fri, 7 Mar 2025 14:51:22 -0500 Subject: [PATCH] add claim_id tag to 1010cg submission job statsd metrics --- app/sidekiq/form1010cg/submission_job.rb | 13 +++++--- .../sidekiq/form1010cg/submission_job_spec.rb | 30 +++++++++++-------- 2 files changed, 26 insertions(+), 17 deletions(-) diff --git a/app/sidekiq/form1010cg/submission_job.rb b/app/sidekiq/form1010cg/submission_job.rb index 3bae4fb3a64..ee18415623f 100644 --- a/app/sidekiq/form1010cg/submission_job.rb +++ b/app/sidekiq/form1010cg/submission_job.rb @@ -28,9 +28,10 @@ class SubmissionJob sidekiq_options retry: 16 sidekiq_retries_exhausted do |msg, _e| - StatsD.increment("#{STATSD_KEY_PREFIX}failed_no_retries_left", tags: ["claim_id:#{msg['args'][0]}"]) + claim_id = msg['args'][0] + StatsD.increment("#{STATSD_KEY_PREFIX}failed_no_retries_left", tags: ["claim_id:#{claim_id}"]) - claim = SavedClaim::CaregiversAssistanceClaim.find(msg['args'][0]) + claim = SavedClaim::CaregiversAssistanceClaim.find(claim_id) send_failure_email(claim) end @@ -41,9 +42,13 @@ def retry_limits_for_notification def notify(params) # Add 1 to retry_count to match retry_monitoring logic retry_count = Integer(params['retry_count']) + 1 + claim_id = params['args'][0] StatsD.increment("#{STATSD_KEY_PREFIX}applications_retried") if retry_count == 1 - StatsD.increment("#{STATSD_KEY_PREFIX}failed_ten_retries", tags: ["params:#{params}"]) if retry_count == 10 + if retry_count == 10 + StatsD.increment("#{STATSD_KEY_PREFIX}failed_ten_retries", + tags: ["params:#{params}", "claim_id:#{claim_id}"]) + end end def perform(claim_id) @@ -88,7 +93,7 @@ def send_failure_email(claim) CALLBACK_METADATA ) - StatsD.increment("#{STATSD_KEY_PREFIX}submission_failure_email_sent") + StatsD.increment("#{STATSD_KEY_PREFIX}submission_failure_email_sent", tags: ["claim_id:#{claim.id}"]) end end end diff --git a/spec/sidekiq/form1010cg/submission_job_spec.rb b/spec/sidekiq/form1010cg/submission_job_spec.rb index 166d83f8e28..cb81d32905b 100644 --- a/spec/sidekiq/form1010cg/submission_job_spec.rb +++ b/spec/sidekiq/form1010cg/submission_job_spec.rb @@ -42,35 +42,39 @@ describe '#notify' do subject(:notify) { described_class.new.notify(params) } + let(:tags) { ["params:#{params}", "claim_id:#{claim.id}"] } + + before { allow(StatsD).to receive(:increment) } + context 'retry_count is 0' do - let(:params) { { 'retry_count' => 0 } } + let(:params) { { 'retry_count' => 0, 'args' => [claim.id] } } it 'increments applications_retried statsd' do - expect { notify }.to trigger_statsd_increment('api.form1010cg.async.applications_retried') + expect(StatsD).to receive(:increment).with('api.form1010cg.async.applications_retried') + notify end end context 'retry_count is not 0 or 9' do - let(:params) { { 'retry_count' => 5 } } + let(:params) { { 'retry_count' => 5, 'args' => [claim.id] } } it 'does not increment applications_retried statsd' do - expect { notify }.not_to trigger_statsd_increment('api.form1010cg.async.applications_retried') + expect(StatsD).not_to receive(:increment).with('api.form1010cg.async.applications_retried') + notify end it 'does not increment failed_ten_retries statsd' do - expect do - notify - end.not_to trigger_statsd_increment('api.form1010cg.async.failed_ten_retries', tags: ["params:#{params}"]) + expect(StatsD).not_to receive(:increment).with('api.form1010cg.async.failed_ten_retries', tags:) + notify end end context 'retry_count is 9' do - let(:params) { { 'retry_count' => 9 } } + let(:params) { { 'retry_count' => 9, 'args' => [claim.id] } } it 'increments failed_ten_retries statsd' do - expect do - notify - end.to trigger_statsd_increment('api.form1010cg.async.failed_ten_retries', tags: ["params:#{params}"]) + expect(StatsD).to receive(:increment).with('api.form1010cg.async.failed_ten_retries', tags:) + notify end end end @@ -129,7 +133,7 @@ expect(VANotify::EmailJob).to receive(:perform_async).with(*template_params) expect(StatsD).to receive(:increment).with( - "#{statsd_key_prefix}submission_failure_email_sent" + "#{statsd_key_prefix}submission_failure_email_sent", tags: ["claim_id:#{claim.id}"] ) end end @@ -173,7 +177,7 @@ expect(VANotify::EmailJob).to receive(:perform_async) expect(StatsD).to receive(:increment).with( - "#{statsd_key_prefix}submission_failure_email_sent" + "#{statsd_key_prefix}submission_failure_email_sent", tags: ["claim_id:#{claim.id}"] ) expect(StatsD).to receive(:increment).with( "#{statsd_key_prefix}record_parse_error",