1
0
mirror of https://github.com/apache/httpd.git synced 2025-08-08 15:02:10 +03:00

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
This commit is contained in:
Jim Jagielski
2005-02-02 19:32:18 +00:00
parent 1400d6eef3
commit 9e6b472772
4 changed files with 11 additions and 4 deletions

View File

@@ -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]

View 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);

View 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)

View 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();