mirror of
https://github.com/ProtonMail/proton-bridge.git
synced 2025-12-11 05:06:51 +00:00
feat(BRIDGE-236): added SMTP observability metrics
This commit is contained in:
@ -25,6 +25,7 @@ import (
|
||||
"github.com/ProtonMail/proton-bridge/v3/internal/services/imapservice/observabilitymetrics/evtloopmsgevents"
|
||||
"github.com/ProtonMail/proton-bridge/v3/internal/services/imapservice/observabilitymetrics/syncmsgevents"
|
||||
"github.com/ProtonMail/proton-bridge/v3/internal/services/observability"
|
||||
smtpMetrics "github.com/ProtonMail/proton-bridge/v3/internal/services/smtp/observabilitymetrics"
|
||||
"github.com/ProtonMail/proton-bridge/v3/internal/services/syncservice/observabilitymetrics"
|
||||
)
|
||||
|
||||
@ -57,6 +58,7 @@ func (s *scenario) userHeartbeatPermutationsObservability(username string) error
|
||||
// - bridge_gluon_message_errors_users_total_v1.schema.json
|
||||
// - bridge_gluon_other_errors_users_total_v1.schema.json
|
||||
// - bridge_event_loop_events_errors_users_total_v1.schema.json.
|
||||
// - bridge_smtp_errors_users_total_v1.schema.json
|
||||
func (s *scenario) userDistinctionMetricsPermutationsObservability(username string) error {
|
||||
batch := proton.ObservabilityBatch{
|
||||
Metrics: observability.GenerateAllUsedDistinctionMetricPermutations()}
|
||||
@ -148,3 +150,37 @@ func (s *scenario) testGluonErrorObservabilityMetrics(username string) error {
|
||||
return err
|
||||
})
|
||||
}
|
||||
|
||||
// SMTPErrorObservabilityMetrics corresponds to bridge_smtp_errors_total_v1.schema.json.
|
||||
func (s *scenario) SMTPErrorObservabilityMetrics(username string) error {
|
||||
batch := proton.ObservabilityBatch{
|
||||
Metrics: []proton.ObservabilityMetric{
|
||||
smtpMetrics.GenerateFailedGetParentID(),
|
||||
smtpMetrics.GenerateUnsupportedMIMEType(),
|
||||
smtpMetrics.GenerateFailedCreateDraft(),
|
||||
smtpMetrics.GenerateFailedCreateAttachments(),
|
||||
smtpMetrics.GenerateFailedCreatePackages(),
|
||||
smtpMetrics.GenerateFailedToGetRecipients(),
|
||||
smtpMetrics.GenerateFailedSendDraft(),
|
||||
smtpMetrics.GenerateFailedDeleteFromDrafts(),
|
||||
},
|
||||
}
|
||||
|
||||
return s.t.withClientPass(context.Background(), username, s.t.getUserByName(username).userPass, func(ctx context.Context, c *proton.Client) error {
|
||||
err := c.SendObservabilityBatch(ctx, batch)
|
||||
return err
|
||||
})
|
||||
}
|
||||
|
||||
func (s *scenario) SMTPSendSuccessObservabilityMetric(username string) error {
|
||||
batch := proton.ObservabilityBatch{
|
||||
Metrics: []proton.ObservabilityMetric{
|
||||
smtpMetrics.GenerateSMTPSendSuccess(),
|
||||
},
|
||||
}
|
||||
|
||||
return s.t.withClientPass(context.Background(), username, s.t.getUserByName(username).userPass, func(ctx context.Context, c *proton.Client) error {
|
||||
err := c.SendObservabilityBatch(ctx, batch)
|
||||
return err
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user