From ae0fa2fc8afc358c5ad86b51ec88475ced12eab9 Mon Sep 17 00:00:00 2001 From: vitor-aignosi Date: Fri, 1 Aug 2025 12:27:59 -0300 Subject: [PATCH] SIENTIAPDE-1174 feat: integrate metrics tracking for sent emails in Email activity - Added metrics tracking for the number of emails sent, incorporating pod ID, model name, pipeline name, and email group for better monitoring. - Enhanced logging to provide detailed information on email sending status for each receiver group. --- orchestrator/activities/email.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/orchestrator/activities/email.py b/orchestrator/activities/email.py index b59ff91..e47ec1e 100644 --- a/orchestrator/activities/email.py +++ b/orchestrator/activities/email.py @@ -2,6 +2,8 @@ from smtplib import SMTPServerDisconnected from temporalio import workflow, activity +from orchestrator import metrics + with workflow.unsafe.imports_passed_through(): import traceback import smtplib @@ -147,7 +149,6 @@ class Email(BaseActivity): for group_name, group_config in receiver_groups.items(): try: - receivers = ", ".join(group_config['members']) self.info(f"Sending email to {group_name}: {receivers}", @@ -177,6 +178,12 @@ class Email(BaseActivity): group_config['status'] = 'failed' else: group_config['status'] = 'sent' + metrics.EMAIL_SENT_COUNT.labels( + pod_id=self.pod_id, + model_name=metadata['model_name'], + pipeline_name=metadata['workflow_name'], + email_group=group_name + ).inc() self.info(f"Email sent to {group_name}: {receivers}", metadata=metadata)