From: Willy Tarreau Date: Mon, 11 Jan 2016 11:04:02 +0000 (+0100) Subject: MINOR: stats: only report backend's down time if it has servers X-Git-Tag: v1.7-dev2~36 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7344f4789321ef8ce2ce17cf73dabd672f7c8c69;p=thirdparty%2Fhaproxy.git MINOR: stats: only report backend's down time if it has servers There's no point in reporting a backend's up/down time if it has no servers. The CSV output used to report "0" for a serverless backend while the HTML version already removed the field. For servers, this field is already omitted if checks are disabled. Let's uniformize all of this and remove the field in CSV as well when irrelevant. --- diff --git a/src/dumpstats.c b/src/dumpstats.c index ef7fdbdb78..c2a2c55028 100644 --- a/src/dumpstats.c +++ b/src/dumpstats.c @@ -4091,7 +4091,9 @@ static int stats_dump_be_stats(struct stream_interface *si, struct proxy *px, in stats[ST_F_BCK] = mkf_u32(0, px->srv_bck); stats[ST_F_CHKDOWN] = mkf_u64(FN_COUNTER, px->down_trans); stats[ST_F_LASTCHG] = mkf_u32(FN_AGE, now.tv_sec - px->last_change); - stats[ST_F_DOWNTIME] = mkf_u32(FN_COUNTER, px->srv ? be_downtime(px) : 0); + if (px->srv) + stats[ST_F_DOWNTIME] = mkf_u32(FN_COUNTER, be_downtime(px)); + stats[ST_F_PID] = mkf_u32(FO_KEY, relative_pid); stats[ST_F_IID] = mkf_u32(FO_KEY|FS_SERVICE, px->uuid); stats[ST_F_SID] = mkf_u32(FO_KEY|FS_SERVICE, 0); @@ -4275,7 +4277,7 @@ static int stats_dump_be_stats(struct stream_interface *si, struct proxy *px, in "" "", stats[ST_F_CHKDOWN].u.u32, - px->srv ? human_time(stats[ST_F_DOWNTIME].u.u32, 1) : " "); + stats[ST_F_DOWNTIME].type ? human_time(stats[ST_F_DOWNTIME].u.u32, 1) : " "); } else { /* CSV mode */ /* dump everything */