Expose delivery metrics on /metrics (closes #209) (#224)
Some checks failed
check / check (push) Superseded by a newer commit; never tested

This commit was merged in pull request #224.
This commit is contained in:
2026-08-20 07:19:04 +02:00
parent a13e5b7ded
commit 4cc83b2326
16 changed files with 1650 additions and 18 deletions

View File

@@ -42,7 +42,14 @@ func (t *databaseTarget) Deliver(
_ *Task,
_ Scheduler,
) {
start := time.Now()
err := t.archive(d)
elapsed := time.Since(start)
t.eng.observeAttempt(d.Target.Type, elapsed)
if err != nil {
t.eng.log.Error(
"failed to archive event to database target",
@@ -53,22 +60,25 @@ func (t *databaseTarget) Deliver(
t.eng.recordResult(
webhookDB, d, 1, false, 0, "",
err.Error(), 0,
err.Error(), elapsed.Milliseconds(),
)
t.eng.updateDeliveryStatus(
webhookDB, d, database.DeliveryStatusFailed,
webhookDB, d, d.Target.Type,
database.DeliveryStatusFailed,
)
return
}
t.eng.recordResult(
webhookDB, d, 1, true, 0, "", "", 0,
webhookDB, d, 1, true, 0, "", "",
elapsed.Milliseconds(),
)
t.eng.updateDeliveryStatus(
webhookDB, d, database.DeliveryStatusDelivered,
webhookDB, d, d.Target.Type,
database.DeliveryStatusDelivered,
)
}