]> granicus.if.org Git - apache/commitdiff
Keep track of time taken to process requests again.
authorJim Jagielski <jim@apache.org>
Wed, 2 Feb 2005 19:32:18 +0000 (19:32 +0000)
committerJim Jagielski <jim@apache.org>
Wed, 2 Feb 2005 19:32:18 +0000 (19:32 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@149550 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
include/scoreboard.h
modules/http/http_request.c
server/scoreboard.c

diff --git a/CHANGES b/CHANGES
index 11bc0f556ebb3fdda71ac1642f7cb5f7a2c9a978..f0d49dc3b5ada87397faac9a7f7534a68492f709 100644 (file)
--- 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]
 
index 0a045d1859d31d1a31cdc37885b018b4db51fd16..2c41e864054b50cea38f759c79b0958e505efecd 100644 (file)
@@ -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);
index 1f03a529984c1db5508c56d774ed1aa47d425764..3c7787805ee7aae2e523c4638bae64b26c1e2660 100644 (file)
@@ -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)
index 465cb3d886d776bff322af08fe0984db33205bc4..325a1fcb8994a00a3a557f9b000d62ca54cee378 100644 (file)
@@ -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();