Merge pull request #3348 from alphagov/better-callback-stats-180016688

Include status in stats about delivery times
This commit is contained in:
Ben Thorner
2021-10-22 11:59:24 +01:00
committed by GitHub
4 changed files with 8 additions and 4 deletions

View File

@@ -70,7 +70,11 @@ def process_ses_results(self, response):
statsd_client.incr('callback.ses.{}'.format(notification_status))
if notification.sent_at:
statsd_client.timing_with_dates('callback.ses.elapsed-time', datetime.utcnow(), notification.sent_at)
statsd_client.timing_with_dates(
f'callback.ses.{notification_status}.elapsed-time',
datetime.utcnow(),
notification.sent_at
)
_check_and_queue_callback_task(notification)

View File

@@ -75,7 +75,7 @@ def _process_for_status(notification_status, client_name, provider_reference, de
if notification.sent_at:
statsd_client.timing_with_dates(
'callback.{}.elapsed-time'.format(client_name.lower()),
f'callback.{client_name.lower()}.{notification_status}.elapsed-time',
datetime.utcnow(),
notification.sent_at
)

View File

@@ -86,7 +86,7 @@ def test_ses_callback_should_update_notification_status(
assert process_ses_results(ses_notification_callback(reference='ref'))
assert get_notification_by_id(notification.id).status == 'delivered'
statsd_client.timing_with_dates.assert_any_call(
"callback.ses.elapsed-time", datetime.utcnow(), notification.sent_at
"callback.ses.delivered.elapsed-time", datetime.utcnow(), notification.sent_at
)
statsd_client.incr.assert_any_call("callback.ses.delivered")
updated_notification = Notification.query.get(notification.id)

View File

@@ -144,7 +144,7 @@ def test_process_sms_client_response_records_statsd_metrics(sample_notification,
statsd_client.incr.assert_any_call("callback.firetext.delivered")
statsd_client.timing_with_dates.assert_any_call(
"callback.firetext.elapsed-time", datetime.utcnow(), sample_notification.sent_at
"callback.firetext.delivered.elapsed-time", datetime.utcnow(), sample_notification.sent_at
)