BUG/MAJOR: stats: correctly check for a possible divide error when showing compression ratios

Commit 5730c68b changed to display compression ratios based on 2xx
responses, but we should then check that there are such responses
instead of checking for requests. The risk is a divide error if there
are some requests but no 2xx yet (eg: redirect).
This commit is contained in:
Willy Tarreau 2012-11-26 16:44:48 +01:00
parent 0a80a8dbb2
commit 78bbeb4a99

View File

@ -2477,7 +2477,7 @@ static int stats_dump_proxy(struct stream_interface *si, struct proxy *px, struc
chunk_appendf(&trash, " other=%lld,", px->fe_counters.p.http.rsp[0]);
chunk_appendf(&trash, " compressed=%lld (%d%%)",
px->fe_counters.p.http.comp_rsp,
px->fe_counters.p.http.cum_req ?
px->fe_counters.p.http.rsp[2] ?
(int)(100*px->fe_counters.p.http.comp_rsp/px->fe_counters.p.http.rsp[2]) : 0);
chunk_appendf(&trash, " intercepted=%lld\"", px->fe_counters.intercepted_req);
}
@ -3218,7 +3218,7 @@ static int stats_dump_proxy(struct stream_interface *si, struct proxy *px, struc
chunk_appendf(&trash, " other=%lld ", px->be_counters.p.http.rsp[0]);
chunk_appendf(&trash, " compressed=%lld (%d%%)\"",
px->be_counters.p.http.comp_rsp,
px->be_counters.p.http.cum_req ?
px->be_counters.p.http.rsp[2] ?
(int)(100*px->be_counters.p.http.comp_rsp/px->be_counters.p.http.rsp[2]) : 0);
}