mirror of
https://github.com/mudler/LocalAI.git
synced 2026-09-29 17:44:30 -04:00
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
20 lines
680 B
Go
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())
|
|
})
|
|
})
|