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 smtplib import SMTPServerDisconnected
|
||||||
from temporalio import workflow, activity
|
from temporalio import workflow, activity
|
||||||
|
|
||||||
|
from orchestrator import metrics
|
||||||
|
|
||||||
with workflow.unsafe.imports_passed_through():
|
with workflow.unsafe.imports_passed_through():
|
||||||
import traceback
|
import traceback
|
||||||
import smtplib
|
import smtplib
|
||||||
@@ -147,7 +149,6 @@ class Email(BaseActivity):
|
|||||||
|
|
||||||
for group_name, group_config in receiver_groups.items():
|
for group_name, group_config in receiver_groups.items():
|
||||||
try:
|
try:
|
||||||
|
|
||||||
receivers = ", ".join(group_config['members'])
|
receivers = ", ".join(group_config['members'])
|
||||||
|
|
||||||
self.info(f"Sending email to {group_name}: {receivers}",
|
self.info(f"Sending email to {group_name}: {receivers}",
|
||||||
@@ -177,6 +178,12 @@ class Email(BaseActivity):
|
|||||||
group_config['status'] = 'failed'
|
group_config['status'] = 'failed'
|
||||||
else:
|
else:
|
||||||
group_config['status'] = 'sent'
|
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}",
|
self.info(f"Email sent to {group_name}: {receivers}",
|
||||||
metadata=metadata)
|
metadata=metadata)
|
||||||
|
|||||||
Reference in New Issue
Block a user