mirror of
https://github.com/warmbly/warmbly.git
synced 2026-10-18 08:02:59 +00:00
33 lines
1.9 KiB
Go
33 lines
1.9 KiB
Go
package monitoring
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
|
|
"github.com/warmbly/warmbly/internal/models"
|
|
)
|
|
|
|
func UnobservedSources() []Source {
|
|
return []Source{
|
|
{ID: "send_wait_attribution", Permission: models.AdminPermViewCampaigns, Collect: func(_ context.Context, _ time.Time) (models.MonitoringSource, error) {
|
|
out := models.MonitoringSource{Availability: models.MonitoringUnavailable, Coverage: "unavailable", Reason: "unsupported", Metrics: []models.MonitoringMetric{}}
|
|
for _, m := range []models.MonitoringMetric{
|
|
{ID: "send_daily_limit_wait", Title: "Live send daily-limit waits", Condition: models.MonitoringDailyLimit},
|
|
{ID: "send_budget_wait", Title: "Live send budget waits", Condition: models.MonitoringBudget},
|
|
{ID: "send_schedule_reason", Title: "Detailed send schedule wait reasons", Condition: models.MonitoringSchedule},
|
|
} {
|
|
m.Unit = "tasks"
|
|
m.Availability = models.MonitoringUnavailable
|
|
m.Severity = "info"
|
|
m.Reason = "unsupported"
|
|
m.Note = "Current scheduler does not persist per-task pacing/daily-cap/budget decisions. Future schedules are observable separately; a specific reason cannot be inferred."
|
|
out.Metrics = append(out.Metrics, m)
|
|
}
|
|
return out, nil
|
|
}},
|
|
{ID: "tracking_broker", Permission: models.AdminPermViewAnalytics, Collect: func(_ context.Context, _ time.Time) (models.MonitoringSource, error) {
|
|
return models.MonitoringSource{Availability: models.MonitoringUnavailable, Coverage: "unavailable", Reason: "unsupported", Metrics: []models.MonitoringMetric{{ID: "tracking_queue", Title: "External tracking consumer backlog", Unit: "messages", Availability: models.MonitoringUnavailable, Condition: models.MonitoringUnknown, Reason: "unsupported", Severity: "info", Note: "This backend does not own the external tracking service's effective consumer scope. Backend worker-events and registered worker commands are measured separately."}}}, nil
|
|
}},
|
|
}
|
|
}
|