mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-04 21:51:43 -04:00
This basically copies the same sections from the existing performance platform page, with the frontend cobbled together from our existing patterns.
39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
from datetime import datetime, timedelta
|
|
from itertools import groupby
|
|
from operator import itemgetter
|
|
from statistics import mean
|
|
|
|
from flask import render_template
|
|
|
|
from app import performance_dashboard_api_client
|
|
from app.main import main
|
|
|
|
|
|
@main.route("/performance")
|
|
def performance():
|
|
stats = performance_dashboard_api_client.get_performance_dashboard_stats(
|
|
start_date=(datetime.utcnow() - timedelta(days=90)).date(),
|
|
end_date=datetime.utcnow().date(),
|
|
)
|
|
stats['organisations_using_notify'] = sorted(
|
|
[
|
|
{
|
|
'organisation_name': organisation_name,
|
|
'count_of_live_services': len(list(group)),
|
|
}
|
|
for organisation_name, group in groupby(
|
|
stats['services_using_notify'],
|
|
itemgetter('organisation_name'),
|
|
)
|
|
],
|
|
key=itemgetter('organisation_name'),
|
|
)
|
|
stats['average_percentage_under_10_seconds'] = mean([
|
|
row['percentage_under_10_seconds']
|
|
for row in stats['processing_time']
|
|
] or [0])
|
|
return render_template(
|
|
'views/performance.html',
|
|
**stats
|
|
)
|