From 7344f4789321ef8ce2ce17cf73dabd672f7c8c69 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Mon, 11 Jan 2016 12:04:02 +0100 Subject: [PATCH] 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. --- src/dumpstats.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/dumpstats.c b/src/dumpstats.c index ef7fdbdb7..c2a2c5502 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 */