You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by je...@apache.org on 2005/02/04 00:47:38 UTC
svn commit: r151258 - in httpd/httpd/branches/2.0.x: CHANGES
include/scoreboard.h modules/http/http_request.c server/scoreboard.c
Author: jerenkrantz
Date: Thu Feb 3 15:47:36 2005
New Revision: 151258
URL: http://svn.apache.org/viewcvs?view=rev&rev=151258
Log:
Start keeping track of the amount of time taken to process a request again.
Results in the 'Req' field in mod_status no longer being bogus.
MFC: 149550
Reviewed by: jim, stas, geoff
Modified:
httpd/httpd/branches/2.0.x/CHANGES
httpd/httpd/branches/2.0.x/include/scoreboard.h
httpd/httpd/branches/2.0.x/modules/http/http_request.c
httpd/httpd/branches/2.0.x/server/scoreboard.c
Modified: httpd/httpd/branches/2.0.x/CHANGES
URL: http://svn.apache.org/viewcvs/httpd/httpd/branches/2.0.x/CHANGES?view=diff&r1=151257&r2=151258
==============================================================================
--- httpd/httpd/branches/2.0.x/CHANGES (original)
+++ httpd/httpd/branches/2.0.x/CHANGES Thu Feb 3 15:47:36 2005
@@ -1,5 +1,8 @@
Changes with Apache 2.0.53
+) *) Start keeping track of time-taken-to-process-request again for
+ mod_status if ExtendedStatus is enabled. [Jim Jagielski]
+
*) mod_proxy: Handle client-aborted connections correctly. PR 32443.
[Janne Hietamäki, Joe Orton]
Modified: httpd/httpd/branches/2.0.x/include/scoreboard.h
URL: http://svn.apache.org/viewcvs/httpd/httpd/branches/2.0.x/include/scoreboard.h?view=diff&r1=151257&r2=151258
==============================================================================
--- httpd/httpd/branches/2.0.x/include/scoreboard.h (original)
+++ httpd/httpd/branches/2.0.x/include/scoreboard.h Thu Feb 3 15:47:36 2005
@@ -163,7 +163,7 @@
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);
Modified: httpd/httpd/branches/2.0.x/modules/http/http_request.c
URL: http://svn.apache.org/viewcvs/httpd/httpd/branches/2.0.x/modules/http/http_request.c?view=diff&r1=151257&r2=151258
==============================================================================
--- httpd/httpd/branches/2.0.x/modules/http/http_request.c (original)
+++ httpd/httpd/branches/2.0.x/modules/http/http_request.c Thu Feb 3 15:47:36 2005
@@ -239,6 +239,8 @@
* 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);
@@ -269,6 +271,8 @@
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)
Modified: httpd/httpd/branches/2.0.x/server/scoreboard.c
URL: http://svn.apache.org/viewcvs/httpd/httpd/branches/2.0.x/server/scoreboard.c?view=diff&r1=151257&r2=151258
==============================================================================
--- httpd/httpd/branches/2.0.x/server/scoreboard.c (original)
+++ httpd/httpd/branches/2.0.x/server/scoreboard.c Thu Feb 3 15:47:36 2005
@@ -423,15 +423,15 @@
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();