mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-02-05 09:21:42 +01:00
MEDIUM: stats: Only report drain state in stats if server has SRV_ADMF_DRAIN set
There are some similarities between a weight of zero and the administratively set drain state: both allow existing connections to continue while not accepting any new ones. However, when reporting a server state generally a distinction is made between state=UP,weight=0 and state=DRAIN,weight=*. This patch makes stats reporting consistent in this regard. This patch does not alter the behaviour that if a server's weight is zero then its stats row is blue when accessed via HTML. This remains the case regardless of if the state is UP or DRAIN. Signed-off-by: Simon Horman <horms@verge.net.au>
This commit is contained in:
parent
837bfa74db
commit
4463d19d48
@ -3906,13 +3906,14 @@ static int stats_dump_proxy_to_buffer(struct stream_interface *si, struct proxy
|
||||
sv_colour = SRV_STATS_COLOUR_UP;
|
||||
}
|
||||
|
||||
if (server_is_draining(sv)) {
|
||||
if (sv_state == SRV_STATS_STATE_UP_GOING_DOWN) {
|
||||
if (sv_state == SRV_STATS_STATE_UP && !svs->uweight)
|
||||
sv_colour = SRV_STATS_COLOUR_DRAINING;
|
||||
|
||||
if (sv->admin & SRV_ADMF_DRAIN) {
|
||||
if (sv_state == SRV_STATS_STATE_UP_GOING_DOWN)
|
||||
sv_state = SRV_STATS_STATE_DRAIN_GOING_DOWN;
|
||||
} else {
|
||||
else
|
||||
sv_state = SRV_STATS_STATE_DRAIN;
|
||||
sv_colour = SRV_STATS_COLOUR_DRAINING;
|
||||
}
|
||||
}
|
||||
|
||||
if (sv_state == SRV_STATS_STATE_UP && !(svs->check.state & CHK_ST_ENABLED)) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user