From 4e5d58e5177a88513215b85971d164f92de397c3 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Sat, 4 Jul 2015 14:35:15 +0200 Subject: [PATCH] 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. --- src/dumpstats.c | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) 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, -- 2.47.3