Author: rjung
Date: Sun Oct 5 09:30:37 2008
New Revision: 701823
URL: http://svn.apache.org/viewvc?rev=701823&view=rev
Log:
Add display of request rates and byte transfer rates
to status worker.
Modified:
tomcat/connectors/trunk/jk/native/common/jk_status.c
Modified: tomcat/connectors/trunk/jk/native/common/jk_status.c
URL:
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_status.c?rev=701823&r1=701822&r2=701823&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_status.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_status.c Sun Oct 5 09:30:37
2008
@@ -248,12 +248,12 @@
"</tr>\n"
#define JK_STATUS_SHOW_AJP_ROW "<tr>" \
"<td>%s</td>" \
- "<td>%" JK_UINT64_T_FMT "</td>" \
+ "<td>%" JK_UINT64_T_FMT "
(%d/sec)</td>" \
"<td>%" JK_UINT32_T_FMT "</td>" \
"<td>%" JK_UINT32_T_FMT "</td>" \
"<td>%" JK_UINT32_T_FMT "</td>" \
- "<td>%s</td>" \
- "<td>%s</td>" \
+ "<td>%s (%s/sec)</td>" \
+ "<td>%s (%s/sec)</td>" \
"<td>%d</td>" \
"<td>%d</td>" \
"<td>%d</td>" \
@@ -296,12 +296,12 @@
"<td>%d</td>" \
"<td>%" JK_UINT64_T_FMT "</td>" \
"<td>%" JK_UINT64_T_FMT "</td>" \
- "<td>%" JK_UINT64_T_FMT "</td>" \
+ "<td>%" JK_UINT64_T_FMT "
(%d/sec)</td>" \
"<td>%" JK_UINT32_T_FMT "</td>" \
"<td>%" JK_UINT32_T_FMT "</td>" \
"<td>%" JK_UINT32_T_FMT "</td>" \
- "<td>%s</td>" \
- "<td>%s</td>" \
+ "<td>%s (%s/sec)</td>" \
+ "<td>%s (%s/sec)</td>" \
"<td>%d</td>" \
"<td>%d</td>" \
"<td>%s</td>" \
@@ -660,7 +660,7 @@
unsigned int remain, siz;
if (size < 973) {
- if (sprintf(buf, "%3d ", (int) size) < 0)
+ if (sprintf(buf, "%d ", (int) size) < 0)
return strcpy(buf, "****");
return buf;
}
@@ -681,7 +681,7 @@
}
if (remain >= 512)
++siz;
- if (sprintf(buf, "%3d%c", siz, *o) < 0)
+ if (sprintf(buf, "%d%c", siz, *o) < 0)
return strcpy(buf, "****");
return buf;
} while (1);
@@ -1635,7 +1635,9 @@
{
char buf[32];
char buf_rd[32];
+ char buf_rd_sec[32];
char buf_wr[32];
+ char buf_wr_sec[32];
int mime;
const char *arg;
time_t now = time(NULL);
@@ -1674,6 +1676,7 @@
if (mime == JK_STATUS_MIME_HTML) {
+ int delta = (int)difftime(now, aw->s->last_reset);
if (lb)
jk_printf(s, JK_STATUS_SHOW_MEMBER_ROW,
sub_name,
@@ -1684,11 +1687,14 @@
wr->lb_mult,
wr->s->lb_value,
aw->s->used,
+ delta > 0 ? (int)(aw->s->used / delta) : -1,
wr->s->errors,
aw->s->client_errors,
aw->s->reply_timeouts,
status_strfsize(aw->s->transferred, buf_wr),
+ delta > 0 ? status_strfsize(aw->s->transferred / delta,
buf_wr_sec) : "-",
status_strfsize(aw->s->readed, buf_rd),
+ delta > 0 ? status_strfsize(aw->s->readed / delta ,
buf_rd_sec) : "-",
aw->s->busy,
aw->s->max_busy,
wr->route,
@@ -1696,19 +1702,23 @@
wr->domain ? (*wr->domain ? wr->domain : " ") :
" ",
rs_min,
rs_max,
- (int)difftime(now, aw->s->last_reset));
- else
+ delta);
+ else {
jk_printf(s, JK_STATUS_SHOW_AJP_ROW,
jk_ajp_get_state(aw, l),
aw->s->used,
+ delta > 0 ? (int)(aw->s->used / delta) : -1,
aw->s->errors,
aw->s->client_errors,
aw->s->reply_timeouts,
status_strfsize(aw->s->transferred, buf_wr),
+ delta > 0 ? status_strfsize(aw->s->transferred / delta,
buf_wr_sec) : "-",
status_strfsize(aw->s->readed, buf_rd),
+ delta > 0 ? status_strfsize(aw->s->readed / delta ,
buf_rd_sec) : "-",
aw->s->busy,
aw->s->max_busy,
- (int)difftime(now, aw->s->last_reset));
+ delta);
+ }
}
else if (mime == JK_STATUS_MIME_XML) {
@@ -3422,8 +3432,8 @@
"<tr><th>Err</th><td>Number of failed requests</td></tr>\n"
"<tr><th>CE</th><td>Number of client errors</td></tr>\n"
"<tr><th>RE</th><td>Number of reply timeouts (decayed)</td></tr>\n"
- "<tr><th>Wr</th><td>Number of bytes transferred/min</td></tr>\n"
- "<tr><th>Rd</th><td>Number of bytes read/min</td></tr>\n"
+ "<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>RR</th><td>Route redirect</td></tr>\n"
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]