From e0454096c0a7e3b8af54c7e0b1e6fe014254c10c Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Fri, 26 Feb 2010 12:29:07 +0100 Subject: [PATCH] [MINOR] stats: mark areas with an underline when tooltips are available There are many information available in the stats page that can only be seen when the mouse hovers over them. But it's hard to know where those information are. Now with a discrete dotted underline it's easier to spot those areas. --- src/dumpstats.c | 56 ++++++++++++++++++++++++++++++++----------------- 1 file changed, 37 insertions(+), 19 deletions(-) diff --git a/src/dumpstats.c b/src/dumpstats.c index 0c8ccffdb..d3d036b02 100644 --- a/src/dumpstats.c +++ b/src/dumpstats.c @@ -1135,6 +1135,7 @@ int stats_dump_http(struct session *s, struct buffer *rep, struct uri_auth *uri) "table.lgd { border-collapse: collapse; border-width: 1px; border-style: none none none solid; border-color: black;}\n" "table.lgd td { border-width: 1px; border-style: solid solid solid solid; border-color: gray; padding: 2px;}\n" "table.lgd td.noborder { border-style: none; padding: 2px; white-space: nowrap;}\n" + "u {text-decoration:none; border-bottom: 1px dotted black;}\n" "-->\n" "\n", (uri->flags&ST_SHNODE) ? " on " : "", @@ -1373,8 +1374,8 @@ int stats_dump_proxy(struct session *s, struct proxy *px, struct uri_auth *uri) } chunk_printf(&msg, - ">" - "%s" + ">%s" + "%s%s" "%s" "\n" "\n" @@ -1397,7 +1398,9 @@ int stats_dump_proxy(struct session *s, struct proxy *px, struct uri_auth *uri) "BckChkDwnDwntme" "Thrtle\n" "", + (uri->flags & ST_SHLGNDS)?"":"", px->id, px->id, px->id, + (uri->flags & ST_SHLGNDS)?"":"", px->desc ? "desc" : "empty", px->desc ? px->desc : ""); if (buffer_feed_chunk(rep, &msg) >= 0) @@ -1423,7 +1426,7 @@ int stats_dump_proxy(struct session *s, struct proxy *px, struct uri_auth *uri) if (px->mode == PR_MODE_HTTP) { chunk_printf(&msg, /* sessions rate : current, max, limit */ - "%s%s%s" + "%s%s%s" "", read_freq_ctr(&px->fe_req_per_sec), U2H0(read_freq_ctr(&px->fe_sess_per_sec)), @@ -1460,11 +1463,14 @@ int stats_dump_proxy(struct session *s, struct proxy *px, struct uri_auth *uri) chunk_printf(&msg, /* sessions: total, lbtot */ - ">%s" + ">%s%s%s" /* bytes : in, out */ "%s%s" "", - U2H6(px->counters.cum_feconn), U2H7(px->counters.bytes_in), U2H8(px->counters.bytes_out)); + (px->mode == PR_MODE_HTTP)?"":"", + U2H6(px->counters.cum_feconn), + (px->mode == PR_MODE_HTTP)?"":"", + U2H7(px->counters.bytes_in), U2H8(px->counters.bytes_out)); chunk_printf(&msg, /* denied: req, resp */ @@ -1605,8 +1611,8 @@ int stats_dump_proxy(struct session *s, struct proxy *px, struct uri_auth *uri) chunk_printf(&msg, /* name, queue */ - ">" - "%s" + ">%s" + "%s%s" /* sessions rate: current, max, limit */ " " /* sessions: current, max, limit, total, lbtot */ @@ -1615,7 +1621,9 @@ int stats_dump_proxy(struct session *s, struct proxy *px, struct uri_auth *uri) /* bytes: in, out */ "%s%s" "", + (uri->flags & ST_SHLGNDS)?"":"", px->id, l->name, px->id, l->name, l->name, + (uri->flags & ST_SHLGNDS)?"":"", U2H3(l->nbconn), U2H4(l->counters->conn_max), U2H5(l->maxconn), U2H6(l->counters->cum_conn), U2H7(l->counters->bytes_in), U2H8(l->counters->bytes_out)); @@ -1778,8 +1786,8 @@ int stats_dump_proxy(struct session *s, struct proxy *px, struct uri_auth *uri) } chunk_printf(&msg, - ">" - "%s" + ">%s" + "%s%s" /* queue : current, max, limit */ "%s%s%s" /* sessions rate : current, max, limit */ @@ -1788,7 +1796,9 @@ int stats_dump_proxy(struct session *s, struct proxy *px, struct uri_auth *uri) "%s%s%s" "flags & ST_SHLGNDS)?"":"", px->id, sv->id, px->id, sv->id, sv->id, + (uri->flags & ST_SHLGNDS)?"":"", U2H0(sv->nbpend), U2H1(sv->counters.nbpend_max), LIM2A2(sv->maxqueue, "-"), U2H3(read_freq_ctr(&sv->sess_per_sec)), U2H4(sv->counters.sps_max), U2H5(sv->cur_sess), U2H6(sv->counters.cur_sess_max), LIM2A7(sv->maxconn, "-")); @@ -1807,8 +1817,11 @@ int stats_dump_proxy(struct session *s, struct proxy *px, struct uri_auth *uri) chunk_printf(&msg, /* sessions: total, lbtot */ - ">%s%s", - U2H0(sv->counters.cum_sess), U2H1(sv->counters.cum_lbconn)); + ">%s%s%s%s", + (px->mode == PR_MODE_HTTP)?"":"", + U2H0(sv->counters.cum_sess), + (px->mode == PR_MODE_HTTP)?"":"", + U2H1(sv->counters.cum_lbconn)); chunk_printf(&msg, /* bytes : in, out */ @@ -1861,7 +1874,7 @@ int stats_dump_proxy(struct session *s, struct proxy *px, struct uri_auth *uri) chunk_htmlencode(&msg, &src); } - chunk_printf(&msg, "\"> %s%s", + chunk_printf(&msg, "\"> %s%s", tv_iszero(&sv->check_start)?"":"* ", get_check_status_info(sv->check_status)); @@ -1869,7 +1882,7 @@ 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); + chunk_printf(&msg, " in %lums", sv->check_duration); } else chunk_printf(&msg, ""); @@ -1885,14 +1898,14 @@ int stats_dump_proxy(struct session *s, struct proxy *px, struct uri_auth *uri) /* check failures: unique, fatal, down time */ if (sv->state & SRV_CHECKED) { - chunk_printf(&msg, "%lld", + chunk_printf(&msg, "%lld", svs->observe?"/Health Analyses":"", svs->counters.failed_checks); if (svs->observe) chunk_printf(&msg, "/%lld", svs->counters.failed_hana); chunk_printf(&msg, - "" + "" "%lld%s" "", svs->counters.down_trans, human_time(srv_downtime(sv), 1)); @@ -2090,14 +2103,16 @@ int stats_dump_proxy(struct session *s, struct proxy *px, struct uri_auth *uri) } chunk_printf(&msg, - ">" - "Backend" + ">%s" + "Backend%s" /* queue : current, max */ "%s%s" /* sessions rate : current, max, limit */ "%s%s" "", + (uri->flags & ST_SHLGNDS)?"":"", px->id, px->id, + (uri->flags & ST_SHLGNDS)?"":"", U2H0(px->nbpend) /* or px->totpend ? */, U2H1(px->counters.nbpend_max), U2H2(read_freq_ctr(&px->be_sess_per_sec)), U2H3(px->counters.be_sps_max)); @@ -2122,11 +2137,14 @@ int stats_dump_proxy(struct session *s, struct proxy *px, struct uri_auth *uri) chunk_printf(&msg, /* sessions: total, lbtot */ - ">%s%s" + ">%s%s%s%s" /* bytes: in, out */ "%s%s" "", - U2H6(px->counters.cum_beconn), U2H7(px->counters.cum_lbconn), + (px->mode == PR_MODE_HTTP)?"":"", + U2H6(px->counters.cum_beconn), + (px->mode == PR_MODE_HTTP)?"":"", + U2H7(px->counters.cum_lbconn), U2H8(px->counters.bytes_in), U2H9(px->counters.bytes_out)); chunk_printf(&msg, -- 2.47.3