Skip to content

Commit f4491e3

Browse files
committed
Emit ApiErrorOccurred metric for request timed out error
1 parent bbeb971 commit f4491e3

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

api/server.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -435,7 +435,10 @@ type responseHandler struct {
435435
metrics metrics.Collector
436436
}
437437

438-
const errCodePanic = -32603
438+
const (
439+
errCodePanic = -32603
440+
errCodeTimeout = -32002
441+
)
439442

440443
type jsonError struct {
441444
Code int `json:"code"`
@@ -470,6 +473,11 @@ func (w *responseHandler) Write(data []byte) (int, error) {
470473
w.metrics.ServerPanicked(message.Error.Message)
471474
}
472475

476+
// handle possible request timeouts
477+
if message.Error != nil && message.Error.Code == errCodeTimeout {
478+
w.metrics.ApiErrorOccurred()
479+
}
480+
473481
// It's an error response and requires special treatment.
474482
if message.Error != nil {
475483
// The logic below is taken from:

0 commit comments

Comments
 (0)