From 9d2a35b9c2e9d23436ba9ca5f50d009c08f226ae Mon Sep 17 00:00:00 2001 From: Carlos Quintana <74399022+cquintana92@users.noreply.github.com> Date: Fri, 24 May 2024 11:09:10 +0200 Subject: [PATCH] fix: monitoring table name (#2120) --- monitoring.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/monitoring.py b/monitoring.py index 8bf9215b..5234b961 100644 --- a/monitoring.py +++ b/monitoring.py @@ -4,6 +4,7 @@ import subprocess from time import sleep from typing import List, Dict +import arrow import newrelic.agent from app.db import Session @@ -104,12 +105,33 @@ def log_pending_to_process_events(): ) +@newrelic.agent.background_task() +def log_events_pending_dead_letter(): + since = arrow.now().shift(minutes=-10).datetime + r = Session.execute( + """ + SELECT COUNT(*) + FROM sync_event + WHERE (taken_time IS NOT NULL AND taken_time < :since) + OR (taken_time IS NULL AND created_at < :since) + """, + {"since": since}, + ) + events_pending = list(r)[0][0] + + LOG.d("number of events pending dead letter %s", events_pending) + newrelic.agent.record_custom_metric( + "Custom/sync_events_pending_dead_letter", events_pending + ) + + if __name__ == "__main__": exporter = MetricExporter(get_newrelic_license()) while True: log_postfix_metrics() log_nb_db_connection() log_pending_to_process_events() + log_events_pending_dead_letter() Session.close() exporter.run()