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

@@ -2,6 +2,7 @@ package delivery
import (
"context"
"time"
"gorm.io/gorm"
"sneak.berlin/go/webhooker/internal/database"
@@ -34,6 +35,8 @@ func (t *logTarget) Deliver(
_ *Task,
_ Scheduler,
) {
start := time.Now()
t.eng.log.Info(
"webhook event delivered to log target",
"delivery_id", d.ID,
@@ -48,11 +51,17 @@ func (t *logTarget) Deliver(
"body", d.Event.Body,
)
elapsed := time.Since(start)
t.eng.observeAttempt(d.Target.Type, elapsed)
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,
)
}