Files
notifications-admin/app/templates/views/performance.html

147 lines
4.1 KiB
HTML
Raw Normal View History

{% extends "base.html" %}
{% from "components/big-number.html" import big_number %}
{% from "components/page-header.html" import page_header %}
{% from "components/table.html" import field, list_table %}
{% block per_page_title %}
Performance data
{% endblock %}
{% block maincolumn_content %}
2023-08-25 11:38:07 -04:00
<div class="grid-row">
2023-08-23 16:18:25 -04:00
<div class="grid-col-8">
{{ page_header('Performance data') }}
</div>
</div>
<h2 class="font-body-lg">
Messages sent since May 2023
</h2>
2023-08-23 16:18:25 -04:00
<div class="grid-row">
<div class="grid-col-6">
<div class="product-page-big-number">{{ total_notifications|format_billions }}</div>
total
</div>
2023-08-23 16:18:25 -04:00
<div class="grid-col-6">
2023-08-25 11:38:07 -04:00
<div class="grid-row">
2023-08-23 16:18:25 -04:00
<div class="grid-col-6">
{{ big_number(
email_notifications|format_billions,
label=email_notifications|message_count_noun('email'),
smallest=True,
) }}
</div>
2023-08-23 16:18:25 -04:00
<div class="grid-col-6">
{{ big_number(
sms_notifications|format_billions,
label=sms_notifications|message_count_noun('sms'),
smallest=True,
) }}
</div>
</div>
</div>
</div>
<div class="dashboard-table table-overflow-x-auto">
{% call(item, row_number) list_table(
notifications_by_type|reverse,
caption='Messages sent since May 2023',
caption_visible=False,
field_headings=[
'Date',
99|message_count_noun('email')|capitalize,
99|message_count_noun('sms')|capitalize,
],
empty_message='No data to show'
) %}
{% call field() %}
{{ item.date | format_date_normal }}
{% endcall %}
{% call field() %}
{{ item.emails|format_thousands }}
{% endcall %}
{% call field() %}
{{ item.sms|format_thousands }}
{% endcall %}
{% endcall %}
<p class="table-show-more-link">
Only showing the last {{ notifications_by_type|length }} days
</p>
</div>
<h2 class="font-body-lg">
Messages sent within 10 seconds
</h2>
2023-08-23 16:18:25 -04:00
<div class="grid-row">
<div class="grid-col-6">
{{ big_number(
'{:.2f}%'.format(average_percentage_under_10_seconds),
label='on average',
) }}
</div>
</div>
<div class="table-overflow-x-auto">
<div class="dashboard-table">
{% call(item, row_number) list_table(
processing_time | reverse,
caption='Messages sent within 10 seconds',
caption_visible=False,
field_headings=[
'Date', 'Percentage'
],
empty_message='No data to show'
) %}
{% call field() %}
{{ item.date | format_date_normal }}
{% endcall %}
{% call field() %}
{{ '{:.2f}%'.format(item.percentage_under_10_seconds) }}
{% endcall %}
{% endcall %}
<p class="table-show-more-link">
Only showing the last {{ processing_time|length }} days
</p>
</div>
</div>
<h2 class="font-body-lg">
2023-01-05 21:33:15 -05:00
Organizations using Notify
</h2>
Removed all govuk css (#2814) * Removed all govuk css * Updated reference files * Removing govuk js * Fixed casing for modules, removed unused page * Got more reference images * Updated template page * Removed govuk padding util * Updated hint to uswds hint * More govuk cleanup * Commiting backstopjs ref files * Fixed all unit tests that broke due to brittleness around govuk styling * Added new ref images * Final removal of govuk * Officially removed all govuk references * Updated reference file * Updated link to button * UI modernization * Cleanup * removed govuk escaping tests since they are no longer needed * Fix CodeQL security issue in escapeElementName function - Escape backslashes first before other special characters - Prevents potential double-escaping vulnerability - Addresses CodeQL alert about improper string escaping * Found more govuk removal. Fixed unit tests * Add missing pipeline check to pre-commit * updated test * Updated e2e test * More update to e2e test * Fixed another e2e test * Simple PR comments addressed * More updates * Updated backstop ref files * Refactored folder selection for non-admins * Updated redundant line * Updated tests to include correct mocks * Added more ref files * Addressing carlos comments * Addressing Carlo comments, cleanup of window initing * More cleanup and addressing carlo comments * Fixing a11 scan * Fixed a few issues with javascript * Fixed for pr * Fixing e2e tests * Tweaking e2e test * Added more ref files and cleaned up urls.js * Fixed bug with creating new template * Removed brittle test - addressed code ql comment * e2e race condition fix * More e2e test fixes * Updated e2e tests to not wait for text sent * Updated test to not wait for button click response * Made tear down more resilent if staging is down * reverted e2e test to what was working before main merge * Updated backstopRef images * Updated gulp to include job-polling differently
2025-10-06 09:38:54 -04:00
<div class="grid-row margin-bottom-3">
2023-08-23 16:18:25 -04:00
<div class="grid-col-6">
2023-06-16 14:55:24 -04:00
<span class="usa-sr-only">There are</span>
2023-07-12 12:09:44 -04:00
<div class="product-page-big-number">{{ count_of_live_services_and_organizations.organizations|format_thousands }}</div>
2023-01-05 21:33:15 -05:00
organizations
</div>
2023-08-23 16:18:25 -04:00
<div class="grid-col-6">
2023-06-16 14:55:24 -04:00
<span class="usa-sr-only">and</span>
2023-07-12 12:09:44 -04:00
<div class="product-page-big-number">{{ count_of_live_services_and_organizations.services|format_thousands }}</div>
services
2023-06-16 14:55:24 -04:00
<span class="usa-sr-only">using Notify.</span>
</div>
</div>
<div class="table-overflow-x-auto">
<div class="dashboard-table">
{% call(item, row_number) list_table(
organizations_using_notify,
caption='Organizations using Notify',
caption_visible=False,
field_headings=[
'Organization', 'Number of live services'
],
empty_message='No data to show'
) %}
{% call field() %}
{{ item.organization_name }}
{% endcall %}
{% call field() %}
{{ item.count_of_live_services }}
{% endcall %}
{% endcall %}
</div>
</div>
{% endblock %}