mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-18 01:14:38 +00:00
BUG/MINOR: mux-h2/stats: not all GOAWAY frames are errors
The stats on haproxy.org reported ~12k GOAWAY for ~34k connections, with
only 2 protocol errorss. It turns out that the GOAWAY frame counter added
in commit a8879238c
("MINOR: mux-h2: report detected error on stats")
matches a bit too many situations. First it counts those which are not
sent as well as failed retries, second it counts as errors the cases of
attempts to cleanly close, while it's titled "GOAWAY sent on detected
error". Let's address this by moving the counter up one line and excluding
the clean codes.
This can be backported to 2.3.
This commit is contained in:
parent
5dd36ac8a0
commit
f965b2ad13
12
src/mux_h2.c
12
src/mux_h2.c
@ -1803,8 +1803,18 @@ static int h2c_send_goaway_error(struct h2c *h2c, struct h2s *h2s)
|
||||
}
|
||||
}
|
||||
h2c->flags |= H2_CF_GOAWAY_SENT;
|
||||
|
||||
/* some codes are not for real errors, just attempts to close cleanly */
|
||||
switch (h2c->errcode) {
|
||||
case H2_ERR_NO_ERROR:
|
||||
case H2_ERR_ENHANCE_YOUR_CALM:
|
||||
case H2_ERR_REFUSED_STREAM:
|
||||
case H2_ERR_CANCEL:
|
||||
break;
|
||||
default:
|
||||
HA_ATOMIC_ADD(&h2c->px_counters->goaway_resp, 1);
|
||||
}
|
||||
out:
|
||||
HA_ATOMIC_ADD(&h2c->px_counters->goaway_resp, 1);
|
||||
TRACE_LEAVE(H2_EV_TX_FRAME|H2_EV_TX_GOAWAY, h2c->conn);
|
||||
return ret;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user