(err error)
| 836 | } |
| 837 | |
| 838 | func (s *Server) noteTimeoutForScaling(err error) { |
| 839 | if err == nil { |
| 840 | return |
| 841 | } |
| 842 | if errors.Is(err, context.DeadlineExceeded) { |
| 843 | s.recordTimeoutSpike() |
| 844 | return |
| 845 | } |
| 846 | var ue *upstream.Error |
| 847 | if errors.As(err, &ue) && ue.Kind == upstream.KindTimeout { |
| 848 | s.recordTimeoutSpike() |
| 849 | } |
| 850 | } |
| 851 | |
| 852 | func (s *Server) recordTimeoutSpike() { |
| 853 | s.timeoutSpikeMu.Lock() |
nothing calls this directly
no test coverage detected