Author: rjung
Date: Sun Dec 21 15:05:55 2014
New Revision: 1647150
URL: http://svn.apache.org/r1647150
Log:
PR 56869: Status: Add maximum number of open backend connections
to status worker. Patch contributed by Martin Knoblauch.
Modified:
tomcat/jk/trunk/native/common/jk_ajp_common.c
tomcat/jk/trunk/native/common/jk_shm.h
tomcat/jk/trunk/native/common/jk_status.c
tomcat/jk/trunk/xdocs/miscellaneous/changelog.xml
Modified: tomcat/jk/trunk/native/common/jk_ajp_common.c
URL:
http://svn.apache.org/viewvc/tomcat/jk/trunk/native/common/jk_ajp_common.c?rev=1647150&r1=1647149&r2=1647150&view=diff
==============================================================================
--- tomcat/jk/trunk/native/common/jk_ajp_common.c (original)
+++ tomcat/jk/trunk/native/common/jk_ajp_common.c Sun Dec 21 15:05:55 2014
@@ -1041,6 +1041,10 @@ int ajp_connect_to_endpoint(ajp_endpoint
return JK_FALSE;
}
ae->worker->s->connected++;
+ /* Update maximum number of connections
+ */
+ if (ae->worker->s->connected > ae->worker->s->max_connected)
+ ae->worker->s->max_connected = ae->worker->s->connected;
/* set last_access only if needed
*/
if (ae->worker->cache_timeout > 0)
Modified: tomcat/jk/trunk/native/common/jk_shm.h
URL:
http://svn.apache.org/viewvc/tomcat/jk/trunk/native/common/jk_shm.h?rev=1647150&r1=1647149&r2=1647150&view=diff
==============================================================================
--- tomcat/jk/trunk/native/common/jk_shm.h (original)
+++ tomcat/jk/trunk/native/common/jk_shm.h Sun Dec 21 15:05:55 2014
@@ -98,6 +98,8 @@ struct jk_shm_ajp_worker
/* Statistical data */
/* Number of currently connected channels */
volatile int connected;
+ /* Maximum number of connected channels */
+ volatile int max_connected;
/* Number of currently busy channels */
volatile int busy;
/* Maximum number of busy channels */
Modified: tomcat/jk/trunk/native/common/jk_status.c
URL:
http://svn.apache.org/viewvc/tomcat/jk/trunk/native/common/jk_status.c?rev=1647150&r1=1647149&r2=1647150&view=diff
==============================================================================
--- tomcat/jk/trunk/native/common/jk_status.c (original)
+++ tomcat/jk/trunk/native/common/jk_status.c Sun Dec 21 15:05:55 2014
@@ -263,7 +263,7 @@
"<th>State</th>" \
"<th>Acc</th>" \
"<th>Err</th><th>CE</th><th>RE</th>" \
-
"<th>Wr</th><th>Rd</th><th>Busy</th><th>Max</th><th>Con</th><th>LR</th><th>LE</th>"
\
+
"<th>Wr</th><th>Rd</th><th>Busy</th><th>MaxBusy</th><th>Con</th><th>MaxCon</th><th>LR</th><th>LE</th>"
\
"</tr>\n"
#define JK_STATUS_SHOW_AJP_ROW "<tr>" \
"<td>%s</td>" \
@@ -277,6 +277,7 @@
"<td>%d</td>" \
"<td>%d</td>" \
"<td>%d</td>" \
+ "<td>%d</td>" \
"<td>%s</td>" \
"</tr>\n"
#define JK_STATUS_SHOW_LB_HEAD "<tr>" \
@@ -308,7 +309,7 @@
"<th>D</th><th>F</th><th>M</th>" \
"<th>V</th><th>Acc</th><th>Sess</th>" \
"<th>Err</th><th>CE</th><th>RE</th>" \
-
"<th>Wr</th><th>Rd</th><th>Busy</th><th>Max</th><th>Con</th>" \
+
"<th>Wr</th><th>Rd</th><th>Busy</th><th>MaxBusy</th><th>Con</th><th>MaxCon</th>"
\
"<th>" JK_STATUS_ARG_LBM_TEXT_ROUTE
"</th>" \
"<th>RR</th><th>Cd</th><th>Rs</th><th>LR</th><th>LE</th>" \
"</tr>\n"
@@ -329,6 +330,7 @@
"<td>%d</td>" \
"<td>%d</td>" \
"<td>%d</td>" \
+ "<td>%d</td>" \
"<td>%s</td>" \
"<td>%s</td>" \
"<td>%s</td>" \
@@ -1849,6 +1851,7 @@ static void display_worker_ajp_details(j
aw->s->busy,
aw->s->max_busy,
aw->s->connected,
+ aw->s->max_connected,
wr->route,
wr->redirect ? (*wr->redirect ? wr->redirect : " ")
: " ",
wr->domain ? (*wr->domain ? wr->domain : " ") :
" ",
@@ -1871,6 +1874,7 @@ static void display_worker_ajp_details(j
aw->s->busy,
aw->s->max_busy,
aw->s->connected,
+ aw->s->max_connected,
delta_reset,
rc_time > 0 ? buf_time : " ");
}
@@ -1928,6 +1932,7 @@ static void display_worker_ajp_details(j
jk_print_xml_att_int(s, off+2, "busy", aw->s->busy);
jk_print_xml_att_int(s, off+2, "max_busy", aw->s->max_busy);
jk_print_xml_att_int(s, off+2, "connected", aw->s->connected);
+ jk_print_xml_att_int(s, off+2, "max_connected", aw->s->max_connected);
if (lb) {
jk_print_xml_att_int(s, off+2, "time_to_recover_min", rs_min);
jk_print_xml_att_int(s, off+2, "time_to_recover_max", rs_max);
@@ -1995,6 +2000,7 @@ static void display_worker_ajp_details(j
jk_printf(s, " busy=%d", aw->s->busy);
jk_printf(s, " max_busy=%d", aw->s->max_busy);
jk_printf(s, " connected=%d", aw->s->connected);
+ jk_printf(s, " max_connected=%d", aw->s->max_connected);
if (lb) {
jk_printf(s, " time_to_recover_min=%d", rs_min);
jk_printf(s, " time_to_recover_max=%d", rs_max);
@@ -2059,6 +2065,7 @@ static void display_worker_ajp_details(j
jk_print_prop_att_int(s, w, ajp_name, "busy", aw->s->busy);
jk_print_prop_att_int(s, w, ajp_name, "max_busy", aw->s->max_busy);
jk_print_prop_att_int(s, w, ajp_name, "connected", aw->s->connected);
+ jk_print_prop_att_int(s, w, ajp_name, "max_connected",
aw->s->max_connected);
if (lb) {
jk_print_prop_att_int(s, w, ajp_name, "time_to_recover_min",
rs_min);
jk_print_prop_att_int(s, w, ajp_name, "time_to_recover_max",
rs_max);
@@ -3724,8 +3731,9 @@ static void display_legend(jk_ws_service
"<tr><th>Wr</th><td>Number of bytes transferred</td></tr>\n"
"<tr><th>Rd</th><td>Number of bytes read</td></tr>\n"
"<tr><th>Busy</th><td>Current number of busy
connections</td></tr>\n"
- "<tr><th>Max</th><td>Maximum number of busy
connections</td></tr>\n"
+ "<tr><th>MaxBusy</th><td>Maximum number of busy
connections</td></tr>\n"
"<tr><th>Con</th><td>Current number of backend
connections</td></tr>\n"
+ "<tr><th>MaxCon</th><td>Maximum number of backend
connections</td></tr>\n"
"<tr><th>RR</th><td>Route redirect</td></tr>\n"
"<tr><th>Cd</th><td>Cluster domain</td></tr>\n"
"<tr><th>Rs</th><td>Recovery scheduled in app. min/max
seconds</td></tr>\n"
Modified: tomcat/jk/trunk/xdocs/miscellaneous/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/jk/trunk/xdocs/miscellaneous/changelog.xml?rev=1647150&r1=1647149&r2=1647150&view=diff
==============================================================================
--- tomcat/jk/trunk/xdocs/miscellaneous/changelog.xml (original)
+++ tomcat/jk/trunk/xdocs/miscellaneous/changelog.xml Sun Dec 21 15:05:55 2014
@@ -89,6 +89,10 @@
<add>
Add more checks for shared memory allocation. (rjung)
</add>
+ <add>
+ <bug>56869</bug>: Status: Add maximum number of open backend
connections
+ to status worker. Patch contributed by Martin Knoblauch. (rjung)
+ </add>
</changelog>
</subsection>
</section>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]