Files
LocalAI/core/services/failover/metrics_test.go
T
Ettore Di Giacinto 8a0bf410ee feat(failover): run the chain manager and keep warm targets loaded
Warm local targets are pinned in the watchdog and preloaded. Switches
and target health are exported as metrics, skipped attempts as traces.

Assisted-by: Claude:claude-opus-5-5
2026-09-26 16:06:15 +00:00

20 lines
680 B
Go

package failover
import (
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
)
var _ = Describe("metrics", func() {
It("registers and records without a meter provider", func() {
src := newFakeSource(remote("a"), local("b"), chainCfg("chain", nil, t("a"), t("b")))
m := New(src, WithClock(newFakeClock()))
Expect(func() { RegisterMetrics(m) }).ToNot(Panic())
Expect(func() { m.ReportFailure("a", errBoom) }).ToNot(Panic())
})
It("records an attempt trace only when enabled", func() {
Expect(func() { RecordAttemptTrace(false, "chain", "a", errBoom) }).ToNot(Panic())
Expect(func() { RecordAttemptTrace(true, "chain", "a", errBoom) }).ToNot(Panic())
})
})