>From 79b55ffdef6b659162dadd6c7a83f4514ca23366 Mon Sep 17 00:00:00 2001
From: Krzysztof Piotr Oledzki <o...@ans.pl>
Date: Tue, 5 Jan 2010 18:44:44 +0100
Subject: [BUG] stats: show UP/DOWN status also in tracking servers

It was broken since 0960541e496167f4cc5f89f114e027bf8f7f1ff0:
 [MEDIUM] Collect & show information about last health check, v3
---
 src/dumpstats.c |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/src/dumpstats.c b/src/dumpstats.c
index afe8086..a9422e2 100644
--- a/src/dumpstats.c
+++ b/src/dumpstats.c
@@ -921,7 +921,7 @@ int stats_dump_http(struct session *s, struct buffer *rep, 
struct uri_auth *uri)
 
        case DATA_ST_HEAD:
                if (!(s->data_ctx.stats.flags & STAT_FMT_CSV)) {
-                       /* WARNING! This must fit in the first buffer !!! */    
    
+                       /* WARNING! This must fit in the first buffer !!! */
                        chunk_printf(&msg,
                             "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 
Transitional//EN\"\n"
                             "\"http://www.w3.org/TR/html4/loose.dtd\";>\n"
@@ -1426,7 +1426,7 @@ int stats_dump_proxy(struct session *s, struct proxy *px, 
struct uri_auth *uri)
                        }
 
                        if (!(s->data_ctx.stats.flags & STAT_FMT_CSV)) {
-                               chunk_printf(&msg, "<tr class=socket><td 
class=ac"); 
+                               chunk_printf(&msg, "<tr class=socket><td 
class=ac");
 
                                        if (uri->flags&ST_SHLGNDS) {
                                                char str[INET6_ADDRSTRLEN], 
*fmt = NULL;
@@ -1676,7 +1676,7 @@ int stats_dump_proxy(struct session *s, struct proxy *px, 
struct uri_auth *uri)
                                /* status, lest check */
                                chunk_printf(&msg, "<td class=ac>");
 
-                               if (sv->state & SRV_CHECKED) {
+                               if (svs->state & SRV_CHECKED) {
                                        chunk_printf(&msg, "%s ",
                                                human_time(now.tv_sec - 
sv->last_change, 1));
 
@@ -1684,7 +1684,9 @@ int stats_dump_proxy(struct session *s, struct proxy *px, 
struct uri_auth *uri)
                                             srv_hlt_st[sv_state],
                                             (svs->state & SRV_RUNNING) ? 
(svs->health - svs->rise + 1) : (svs->health),
                                             (svs->state & SRV_RUNNING) ? 
(svs->fall) : (svs->rise));
+                               }
 
+                               if (sv->state & SRV_CHECKED) {
                                        chunk_printf(&msg, "</td><td class=ac 
title=\"%s",
                                                
get_check_status_description(sv->check_status));
 
@@ -1696,7 +1698,7 @@ int stats_dump_proxy(struct session *s, struct proxy *px, 
struct uri_auth *uri)
                                                chunk_initlen(&src, 
sv->check_desc, 0, strlen(sv->check_desc));
                                                chunk_htmlencode(&msg, &src);
                                        }
-                               
+
                                        chunk_printf(&msg, "\"> %s%s",
                                                
tv_iszero(&sv->check_start)?"":"* ",
                                                
get_check_status_info(sv->check_status));
@@ -1705,10 +1707,9 @@ int stats_dump_proxy(struct session *s, struct proxy 
*px, struct uri_auth *uri)
                                                chunk_printf(&msg, "/%d", 
sv->check_code);
 
                                        if (sv->check_status >= 
HCHK_STATUS_CHECKED && sv->check_duration >= 0)
-                                               chunk_printf(&msg, " in %lums", 
sv->check_duration);
-                               } else {
+                                       chunk_printf(&msg, " in %lums", 
sv->check_duration);
+                               } else
                                        chunk_printf(&msg, "</td><td>");
-                               }
 
                                chunk_printf(&msg,
                                     /* weight */
@@ -1851,7 +1852,7 @@ int stats_dump_proxy(struct session *s, struct proxy *px, 
struct uri_auth *uri)
                                                chunk_printf(&msg, ",");
 
                                        /* check_duration */
-                                       if (sv->check_status >= 
HCHK_STATUS_CHECKED)    
+                                       if (sv->check_status >= 
HCHK_STATUS_CHECKED)
                                                chunk_printf(&msg, "%lu,", 
sv->check_duration);
                                        else
                                                chunk_printf(&msg, ",");
-- 
1.6.4.2


Reply via email to