1
0
mirror of https://github.com/apache/httpd.git synced 2025-08-08 15:02:10 +03:00

mod_proxy: Improve the balancer member data shown

in mod_status when "ProxyStatus" is "On":
add "busy" count and show byte counts in auto
mode always in units of kilobytes.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837588 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Rainer Jung
2018-08-07 10:17:33 +00:00
parent e49671c0ba
commit 8cae4747e4
2 changed files with 18 additions and 6 deletions

View File

@@ -1,6 +1,10 @@
-*- coding: utf-8 -*- -*- coding: utf-8 -*-
Changes with Apache 2.5.1 Changes with Apache 2.5.1
*) mod_proxy: Improve the balancer member data shown in mod_status when
"ProxyStatus" is "On": add "busy" count and show byte counts in auto
mode always in units of kilobytes. [Rainer Jung]
*) mod_proxy: If ProxyPassReverse is used for reverse mapping of relative *) mod_proxy: If ProxyPassReverse is used for reverse mapping of relative
redirects, subsequent ProxyPassReverse statements, whether they are redirects, subsequent ProxyPassReverse statements, whether they are
relative or absolute, may fail. PR 60408. [Peter Haworth <pmh1wheel gmail.com>] relative or absolute, may fail. PR 60408. [Peter Haworth <pmh1wheel gmail.com>]

View File

@@ -2876,7 +2876,7 @@ static int proxy_status_hook(request_rec *r, int flags)
ap_rputs("\n\n<table border=\"0\"><tr>" ap_rputs("\n\n<table border=\"0\"><tr>"
"<th>Sch</th><th>Host</th><th>Stat</th>" "<th>Sch</th><th>Host</th><th>Stat</th>"
"<th>Route</th><th>Redir</th>" "<th>Route</th><th>Redir</th>"
"<th>F</th><th>Set</th><th>Acc</th><th>Wr</th><th>Rd</th>" "<th>F</th><th>Set</th><th>Acc</th><th>Busy</th><th>Wr</th><th>Rd</th>"
"</tr>\n", r); "</tr>\n", r);
} }
else { else {
@@ -2894,8 +2894,10 @@ static int proxy_status_hook(request_rec *r, int flags)
ap_rvputs(r, "</td><td>", (*worker)->s->redirect, NULL); ap_rvputs(r, "</td><td>", (*worker)->s->redirect, NULL);
ap_rprintf(r, "</td><td>%.2f</td>", (float)((*worker)->s->lbfactor)/100.0); ap_rprintf(r, "</td><td>%.2f</td>", (float)((*worker)->s->lbfactor)/100.0);
ap_rprintf(r, "<td>%d</td>", (*worker)->s->lbset); ap_rprintf(r, "<td>%d</td>", (*worker)->s->lbset);
ap_rprintf(r, "<td>%" APR_SIZE_T_FMT "</td><td>", ap_rprintf(r, "<td>%" APR_SIZE_T_FMT "</td>",
(*worker)->s->elected); (*worker)->s->elected);
ap_rprintf(r, "<td>%" APR_SIZE_T_FMT "</td><td>",
(*worker)->s->busy);
ap_rputs(apr_strfsize((*worker)->s->transferred, fbuf), r); ap_rputs(apr_strfsize((*worker)->s->transferred, fbuf), r);
ap_rputs("</td><td>", r); ap_rputs("</td><td>", r);
ap_rputs(apr_strfsize((*worker)->s->read, fbuf), r); ap_rputs(apr_strfsize((*worker)->s->read, fbuf), r);
@@ -2912,10 +2914,16 @@ static int proxy_status_hook(request_rec *r, int flags)
ap_rprintf(r, "ProxyBalancer[%d]Worker[%d]Elected: %" ap_rprintf(r, "ProxyBalancer[%d]Worker[%d]Elected: %"
APR_SIZE_T_FMT "\n", APR_SIZE_T_FMT "\n",
i, n, (*worker)->s->elected); i, n, (*worker)->s->elected);
ap_rprintf(r, "ProxyBalancer[%d]Worker[%d]Sent: %s\n", ap_rprintf(r, "ProxyBalancer[%d]Worker[%d]Busy: %"
i, n, apr_strfsize((*worker)->s->transferred, fbuf)); APR_SIZE_T_FMT "\n",
ap_rprintf(r, "ProxyBalancer[%d]Worker[%d]Rcvd: %s\n", i, n, (*worker)->s->busy);
i, n, apr_strfsize((*worker)->s->read, fbuf)); ap_rprintf(r, "ProxyBalancer[%d]Worker[%d]Sent: %"
APR_OFF_T_FMT "K\n",
i, n, (*worker)->s->transferred >> 10);
ap_rprintf(r, "ProxyBalancer[%d]Worker[%d]Rcvd: %"
APR_OFF_T_FMT "K\n",
i, n, (*worker)->s->read >> 10);
/* TODO: Add the rest of dynamic worker data */ /* TODO: Add the rest of dynamic worker data */
} }