recordReloadSuccess rewrites the provider_info GaugeVec from the classified reload and stamps the success-time gauge. Reset clears series for providers that have left the configuration so they don't linger as stale.
(reload ProviderReload)
| 80 | // series for providers that have left the configuration so they don't |
| 81 | // linger as stale. |
| 82 | func (s *Server) recordReloadSuccess(reload ProviderReload) { |
| 83 | if s.metrics == nil { |
| 84 | return |
| 85 | } |
| 86 | outcomes := make([]aibridged.ProviderOutcome, len(reload.Providers)) |
| 87 | for i, p := range reload.Providers { |
| 88 | outcomes[i] = p.ProviderOutcome |
| 89 | } |
| 90 | aibridged.WriteProviderInfoSnapshot(s.metrics.ProviderInfo, outcomes) |
| 91 | s.metrics.ProvidersLastReloadSuccessTimestampSeconds.Set(float64(time.Now().Unix())) |
| 92 | } |
| 93 | |
| 94 | func (s *Server) loadProviderRouter() *providerRouter { |
| 95 | if p := s.providerRouter.Load(); p != nil { |
no test coverage detected