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.
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user