}
if (ap_extended_status && !short_report) {
- apr_table_t *vhosts = apr_table_make(r->pool, 10);
if (no_table_report)
ap_rputs("<hr /><h2>Server Details</h2>\n\n", r);
else
for (i = 0; i < server_limit; ++i) {
for (j = 0; j < thread_limit; ++j) {
- char *escvhost;
- long last_used;
- const char *vlast;
-
ws_record = ap_get_scoreboard_worker_from_indexes(i, j);
if (ws_record->access_count == 0 &&
if (req_time < 0L)
req_time = 0L;
- escvhost = ap_escape_html(r->pool, ws_record->vhost);
- last_used = (long)apr_time_sec(nowtime - ws_record->last_used);
- if (escvhost && *escvhost) {
- if ((vlast = apr_table_get(vhosts, escvhost)) != NULL) {
- long temp = atol(vlast);
- if (last_used < temp) {
- apr_table_setn(vhosts, apr_pstrdup(r->pool, escvhost),
- apr_psprintf(r->pool, "%ld", last_used));
- }
- }
- else {
- apr_table_setn(vhosts, apr_pstrdup(r->pool, escvhost),
- apr_psprintf(r->pool, "%ld", last_used));
- }
- }
-
lres = ws_record->access_count;
my_lres = ws_record->my_access_count;
conn_lres = ws_record->conn_count;
ws_record->times.tms_cutime / tick,
ws_record->times.tms_cstime / tick,
#endif
- last_used,
+ (long)apr_time_sec(nowtime -
+ ws_record->last_used),
(long) req_time);
format_byte_out(r, conn_bytes);
ap_escape_html(r->pool,
ap_escape_logitem(r->pool,
ws_record->request)),
- escvhost);
+ ap_escape_html(r->pool,
+ ws_record->vhost));
}
else { /* !no_table_report */
if (ws_record->status == SERVER_DEAD)
ws_record->times.tms_cutime +
ws_record->times.tms_cstime) / tick,
#endif
- last_used,
+ (long)apr_time_sec(nowtime -
+ ws_record->last_used),
(long)req_time);
ap_rprintf(r, "</td><td>%-1.1f</td><td>%-2.2f</td><td>%-2.2f\n",
"<td nowrap>%s</td></tr>\n\n",
ap_escape_html(r->pool,
ws_record->client),
- escvhost,
+ ap_escape_html(r->pool,
+ ws_record->vhost),
ap_escape_html(r->pool,
ap_escape_logitem(r->pool,
ws_record->request)));
} /* for (i...) */
if (!no_table_report) {
- int i;
- const apr_array_header_t *arr = apr_table_elts(vhosts);
- const apr_table_entry_t *elts = (const apr_table_entry_t *)arr->elts;
-
ap_rputs("</table>\n \
<hr /> \
<table>\n \
<tr><th>Child</th><td>Megabytes transferred this child</td></tr>\n \
<tr><th>Slot</th><td>Total megabytes transferred this slot</td></tr>\n \
</table>\n", r);
- ap_rputs("<hr />\n<table>\n\
-<tr><th>Vhost</th><th>Seconds since last used</th></tr>\n", r);
- for (i = 0; i < arr->nelts; i++) {
- ap_rprintf(r, "<tr><td><pre>%s</pre></td><td><pre>%27s</pre></td></tr>\n",
- elts[i].key, elts[i].val);
- }
- ap_rputs("</table>\n", r);
}
} /* if (ap_extended_status && !short_report) */
else {