Files
notifications-api/app/performance_platform/processing_time.py
Kenneth Kehl 1ecb747c6d reformat
2023-08-29 14:54:30 -07:00

46 lines
1.5 KiB
Python

from datetime import timedelta
from flask import current_app
from app import performance_platform_client
from app.dao.notifications_dao import (
dao_get_total_notifications_sent_per_day_for_performance_platform,
)
from app.utils import get_midnight_in_utc
def send_processing_time_to_performance_platform(local_date):
start_time = get_midnight_in_utc(local_date)
end_time = get_midnight_in_utc(local_date + timedelta(days=1))
send_processing_time_for_start_and_end(start_time, end_time, local_date)
def send_processing_time_for_start_and_end(start_time, end_time, local_date):
result = dao_get_total_notifications_sent_per_day_for_performance_platform(
start_time, end_time
)
current_app.logger.info(
"Sending processing-time to performance platform for date {}. Total: {}, under 10 secs {}".format(
start_time, result.messages_total, result.messages_within_10_secs
)
)
send_processing_time_data(start_time, "messages-total", result.messages_total)
send_processing_time_data(
start_time, "messages-within-10-secs", result.messages_within_10_secs
)
def send_processing_time_data(start_time, status, count):
payload = performance_platform_client.format_payload(
dataset="processing-time",
start_time=start_time,
group_name="status",
group_value=status,
count=count,
)
performance_platform_client.send_stats_to_performance_platform(payload)