From: Willy Tarreau Date: Sat, 4 Jul 2015 12:35:15 +0000 (+0200) Subject: MINOR: stats: improve compression stats reporting X-Git-Tag: v1.6-dev3~35 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4e5d58e5177a88513215b85971d164f92de397c3;p=thirdparty%2Fhaproxy.git MINOR: stats: improve compression stats reporting Compression stats were not easy to read and could be confusing because the saving ratio could be taken for global savings while it was only relative to compressible input. Let's make that a bit clearer using the new tooltips with a bit more details and also report the effective ratio over all output bytes. --- diff --git a/src/dumpstats.c b/src/dumpstats.c index c8bdc2b6ac..812f3d5bb4 100644 --- a/src/dumpstats.c +++ b/src/dumpstats.c @@ -2827,12 +2827,22 @@ static int stats_dump_fe_stats(struct stream_interface *si, struct proxy *px) chunk_appendf(&trash, /* bytes:out + compression stats (via hover): comp_in, comp_out, comp_byp */ - "%s%s
compression: in=%lld out=%lld bypassed=%lld savings=%d%%
%s", + "%s%s
" + "" + "" + "" + "" + "" + "
Response bytes in:%s
Compression in:%s
Compression out:%s(%d%%)
Compression bypass:%s
Total bytes saved:%s(%d%%)
%s", (px->fe_counters.comp_in || px->fe_counters.comp_byp) ? "":"", U2H(px->fe_counters.bytes_out), - px->fe_counters.comp_in, px->fe_counters.comp_out, px->fe_counters.comp_byp, - px->fe_counters.comp_in ? - (int)((px->fe_counters.comp_in - px->fe_counters.comp_out)*100/px->fe_counters.comp_in) : 0, + U2H(px->fe_counters.bytes_out), + U2H(px->fe_counters.comp_in), + U2H(px->fe_counters.comp_out), + px->fe_counters.comp_in ? (int)(px->fe_counters.comp_out * 100 / px->fe_counters.comp_in) : 0, + U2H(px->fe_counters.comp_byp), + U2H(px->fe_counters.comp_in - px->fe_counters.comp_out), + px->fe_counters.bytes_out ? (int)((px->fe_counters.comp_in - px->fe_counters.comp_out) * 100 / px->fe_counters.bytes_out) : 0, (px->fe_counters.comp_in || px->fe_counters.comp_byp) ? "":""); chunk_appendf(&trash, @@ -3642,12 +3652,22 @@ static int stats_dump_be_stats(struct stream_interface *si, struct proxy *px, in chunk_appendf(&trash, /* bytes:out + compression stats (via hover): comp_in, comp_out, comp_byp */ - "%s%s
compression: in=%lld out=%lld bypassed=%lld savings=%d%%
%s", + "%s%s
" + "" + "" + "" + "" + "" + "
Response bytes in:%s
Compression in:%s
Compression out:%s(%d%%)
Compression bypass:%s
Total bytes saved:%s(%d%%)
%s", (px->be_counters.comp_in || px->be_counters.comp_byp) ? "":"", U2H(px->be_counters.bytes_out), - px->be_counters.comp_in, px->be_counters.comp_out, px->be_counters.comp_byp, - px->be_counters.comp_in ? - (int)((px->be_counters.comp_in - px->be_counters.comp_out)*100/px->be_counters.comp_in) : 0, + U2H(px->be_counters.bytes_out), + U2H(px->be_counters.comp_in), + U2H(px->be_counters.comp_out), + px->be_counters.comp_in ? (int)(px->be_counters.comp_out * 100 / px->be_counters.comp_in) : 0, + U2H(px->be_counters.comp_byp), + U2H(px->be_counters.comp_in - px->be_counters.comp_out), + px->be_counters.bytes_out ? (int)((px->be_counters.comp_in - px->be_counters.comp_out) * 100 / px->be_counters.bytes_out) : 0, (px->be_counters.comp_in || px->be_counters.comp_byp) ? "":""); chunk_appendf(&trash,