mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-06 05:08:25 -04:00
Requested, delivered, and failed messages on dash
Requested, delivered and failed are the three states stored in the notification statistics table. They are not discrete, eg a message can be counted in delivered and failed. `requested` is incremented *when a notification is created*, and has no chance of being incremented twice for the same notification. The template statistics are incremented *when a notification is created only*. Therefore the only way to make the numbers line up is to count: - messages sent as being `requested` - failure rate being `failed`/`requested` *not* `failed`/`failed`+`delivered`
This commit is contained in:
@@ -99,19 +99,14 @@ def add_rates_to(delivery_statistics):
|
|||||||
delivery_statistics
|
delivery_statistics
|
||||||
)
|
)
|
||||||
|
|
||||||
sum_of_statistics.update({
|
|
||||||
'emails_sent': sum_of_statistics['emails_failed'] + sum_of_statistics['emails_delivered'],
|
|
||||||
'sms_sent': sum_of_statistics['sms_failed'] + sum_of_statistics['sms_delivered']
|
|
||||||
})
|
|
||||||
|
|
||||||
return dict(
|
return dict(
|
||||||
emails_failure_rate=(
|
emails_failure_rate=(
|
||||||
"{0:.1f}".format((float(sum_of_statistics['emails_failed']) / sum_of_statistics['emails_sent'] * 100))
|
"{0:.1f}".format((float(sum_of_statistics['emails_failed']) / sum_of_statistics['emails_requested'] * 100))
|
||||||
if sum_of_statistics.get('emails_sent') else 0
|
if sum_of_statistics['emails_requested'] else 0
|
||||||
),
|
),
|
||||||
sms_failure_rate=(
|
sms_failure_rate=(
|
||||||
"{0:.1f}".format((float(sum_of_statistics['sms_failed']) / sum_of_statistics['sms_sent'] * 100))
|
"{0:.1f}".format((float(sum_of_statistics['sms_failed']) / sum_of_statistics['sms_requested'] * 100))
|
||||||
if sum_of_statistics.get('sms_sent') else 0
|
if sum_of_statistics['sms_requested'] else 0
|
||||||
),
|
),
|
||||||
**sum_of_statistics
|
**sum_of_statistics
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -13,8 +13,8 @@
|
|||||||
<div class="grid-row bottom-gutter">
|
<div class="grid-row bottom-gutter">
|
||||||
<div class="column-half">
|
<div class="column-half">
|
||||||
{{ big_number_with_status(
|
{{ big_number_with_status(
|
||||||
statistics.emails_sent,
|
statistics.emails_requested,
|
||||||
'email' if statistics.emails_sent == 1 else 'emails',
|
'email' if statistics.emails_requested == 1 else 'emails',
|
||||||
statistics.emails_failed,
|
statistics.emails_failed,
|
||||||
statistics.get('emails_failure_rate', 0.0),
|
statistics.get('emails_failure_rate', 0.0),
|
||||||
statistics.get('emails_failure_rate', 0)|float > 3,
|
statistics.get('emails_failure_rate', 0)|float > 3,
|
||||||
@@ -23,8 +23,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="column-half">
|
<div class="column-half">
|
||||||
{{ big_number_with_status(
|
{{ big_number_with_status(
|
||||||
statistics.sms_sent,
|
statistics.sms_requested,
|
||||||
'text message' if statistics.sms_sent == 1 else 'text messages',
|
'text message' if statistics.sms_requested == 1 else 'text messages',
|
||||||
statistics.sms_failed,
|
statistics.sms_failed,
|
||||||
statistics.get('sms_failure_rate', 0.0),
|
statistics.get('sms_failure_rate', 0.0),
|
||||||
statistics.get('sms_failure_rate', 0)|float > 3,
|
statistics.get('sms_failure_rate', 0)|float > 3,
|
||||||
|
|||||||
Reference in New Issue
Block a user