mirror of
https://github.com/haproxy/haproxy.git
synced 2026-02-20 08:20:19 -05:00
[MINOR] fix backend's weight in the stats page.
The GCD used when computing the servers' weights causes the total weight of the backend to appear lower than expected because it is divided by the GCD. Easy solution consists in recomputing the GCD from the first server and apply it to the global weight.
This commit is contained in:
parent
5af3a694f5
commit
4b946c8564
1 changed files with 10 additions and 1 deletions
|
|
@ -3848,9 +3848,18 @@ int produce_content_stats_proxy(struct session *s, struct proxy *px)
|
|||
case DATA_ST_PX_BE:
|
||||
/* print the backend */
|
||||
if (px->cap & PR_CAP_BE) {
|
||||
int gcd = 1;
|
||||
|
||||
if (px->map_state & PR_MAP_RECALC)
|
||||
recalc_server_map(px);
|
||||
|
||||
/* The GCD which was computed causes the total effective
|
||||
* weight to appear lower than all weights. Let's
|
||||
* recompute it.
|
||||
*/
|
||||
if (px->srv && px->srv->eweight)
|
||||
gcd = px->srv->uweight / px->srv->eweight;
|
||||
|
||||
chunk_printf(&msg, sizeof(trash),
|
||||
/* name */
|
||||
"<tr align=center class=\"backend\"><td>Backend</td>"
|
||||
|
|
@ -3879,7 +3888,7 @@ int produce_content_stats_proxy(struct session *s, struct proxy *px)
|
|||
px->denied_req, px->denied_resp,
|
||||
px->failed_conns, px->failed_resp,
|
||||
(px->srv_map_sz > 0 || !px->srv) ? "UP" : "DOWN",
|
||||
px->srv_map_sz, px->srv_act, px->srv_bck);
|
||||
px->srv_map_sz * gcd, px->srv_act, px->srv_bck);
|
||||
|
||||
if (buffer_write_chunk(rep, &msg) != 0)
|
||||
return 0;
|
||||
|
|
|
|||
Loading…
Reference in a new issue