Changeset 0.22.4 (#146)
This commit is contained in:
@@ -64,6 +64,9 @@ type HealthRecorder interface {
|
||||
RecordSuccess(providerConfigID string, latencyMs int)
|
||||
RecordError(providerConfigID string, latencyMs int, errMsg string)
|
||||
RecordTimeout(providerConfigID string, latencyMs int, errMsg string)
|
||||
RecordRateLimit(providerConfigID string, latencyMs int, errMsg string) // v0.22.4
|
||||
RecordToolSuccess(toolName string, latencyMs int) // v0.22.4
|
||||
RecordToolError(toolName string, latencyMs int, errMsg string) // v0.22.4
|
||||
}
|
||||
|
||||
// HealthStatusQuerier retrieves current provider health for routing decisions.
|
||||
@@ -1365,6 +1368,8 @@ func (h *CompletionHandler) recordHealth(configID string, start time.Time, err e
|
||||
errMsg := err.Error()
|
||||
if strings.Contains(errMsg, "context deadline exceeded") || strings.Contains(errMsg, "timeout") {
|
||||
h.health.RecordTimeout(configID, latencyMs, errMsg)
|
||||
} else if strings.Contains(errMsg, "HTTP 429") || strings.Contains(errMsg, "rate limit") || strings.Contains(errMsg, "Too Many Requests") {
|
||||
h.health.RecordRateLimit(configID, latencyMs, errMsg)
|
||||
} else {
|
||||
h.health.RecordError(configID, latencyMs, errMsg)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user