summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Jagielski <jim@apache.org>2005-02-02 20:32:18 +0100
committerJim Jagielski <jim@apache.org>2005-02-02 20:32:18 +0100
commit9e6b47277246f41fcb2db44be9bdc4adf0779baa (patch)
treeda884dde833e05e9c64b0f8115be747f9a0d2e2b
parentUpdate Japanese translation. (diff)
downloadapache2-9e6b47277246f41fcb2db44be9bdc4adf0779baa.tar.xz
apache2-9e6b47277246f41fcb2db44be9bdc4adf0779baa.zip
Keep track of time taken to process requests again.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@149550 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--CHANGES3
-rw-r--r--include/scoreboard.h2
-rw-r--r--modules/http/http_request.c4
-rw-r--r--server/scoreboard.c6
4 files changed, 11 insertions, 4 deletions
diff --git a/CHANGES b/CHANGES
index 11bc0f556e..f0d49dc3b5 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,9 @@ Changes with Apache 2.1.3
[Remove entries to the current 2.0 section below, when backported]
+ *) Start keeping track of time-taken-to-process-request again for
+ mod_status if ExtendedStatus is enabled. [Jim Jagielski]
+
*) mod_cache: Add CacheStorePrivate and CacheStoreNoStore directive.
[Justin Erenkrantz]
diff --git a/include/scoreboard.h b/include/scoreboard.h
index 0a045d1859..2c41e86405 100644
--- a/include/scoreboard.h
+++ b/include/scoreboard.h
@@ -174,7 +174,7 @@ AP_DECLARE(int) find_child_by_pid(apr_proc_t *pid);
AP_DECLARE(int) ap_update_child_status(ap_sb_handle_t *sbh, int status, request_rec *r);
AP_DECLARE(int) ap_update_child_status_from_indexes(int child_num, int thread_num,
int status, request_rec *r);
-void ap_time_process_request(int child_num, int thread_num, int status);
+void ap_time_process_request(ap_sb_handle_t *sbh, int status);
AP_DECLARE(worker_score *) ap_get_scoreboard_worker(int x, int y);
AP_DECLARE(process_score *) ap_get_scoreboard_process(int x);
diff --git a/modules/http/http_request.c b/modules/http/http_request.c
index 1f03a52998..3c7787805e 100644
--- a/modules/http/http_request.c
+++ b/modules/http/http_request.c
@@ -248,6 +248,8 @@ void ap_process_request(request_rec *r)
* Use this hook with extreme care and only if you know what you are
* doing.
*/
+ if (ap_extended_status)
+ ap_time_process_request(r->connection->sbh, START_PREQUEST);
access_status = ap_run_quick_handler(r, 0); /* Not a look-up request */
if (access_status == DECLINED) {
access_status = ap_process_request_internal(r);
@@ -278,6 +280,8 @@ void ap_process_request(request_rec *r)
check_pipeline_flush(r);
ap_update_child_status(r->connection->sbh, SERVER_BUSY_LOG, r);
ap_run_log_transaction(r);
+ if (ap_extended_status)
+ ap_time_process_request(r->connection->sbh, STOP_PREQUEST);
}
static apr_table_t *rename_original_env(apr_pool_t *p, apr_table_t *t)
diff --git a/server/scoreboard.c b/server/scoreboard.c
index 465cb3d886..325a1fcb89 100644
--- a/server/scoreboard.c
+++ b/server/scoreboard.c
@@ -448,15 +448,15 @@ AP_DECLARE(int) ap_update_child_status(ap_sb_handle_t *sbh, int status,
status, r);
}
-void ap_time_process_request(int child_num, int thread_num, int status)
+void ap_time_process_request(ap_sb_handle_t *sbh, int status)
{
worker_score *ws;
- if (child_num < 0) {
+ if (sbh->child_num < 0) {
return;
}
- ws = &ap_scoreboard_image->servers[child_num][thread_num];
+ ws = &ap_scoreboard_image->servers[sbh->child_num][sbh->thread_num];
if (status == START_PREQUEST) {
ws->start_time = apr_time_now();