httpd-test-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: [PATCH] flood: Add handler relative_times_sizes_process_stats
Date Fri, 07 Feb 2003 22:44:35 GMT
Hi all,

The patch I sent contained a bug.  The second change in flood_profile.c
causes the new relative_times_sizes_process_stats to always be used
if you specify relative_times for your report.  I've included a patch to
fix the problem.  I had mistakenly changed the list that's used to
initialize the handlers when you specify the relative_times report.
The fix is to remove the new relative_times_sizes_process_stats entry
from the array report_relative_times_group[].

I also discovered that the patch provided only enables recording the
buffer sizes for the request and response.  But, there's some additional
work needed to ensure we're retrieving the entire response from the
server.  I noticed that my report would state that flood received about
1K for a 18K image.  The missing piece seems to be the "wantresponse"
flag in the request_t structure.  For what I'm measuring (total bytes
sent and received), I need it to be true before flood calls either
generic_recv_resp() and keepalive_recv_resp() to have the response from
the server.

It seems we need to be able to conditionally turn on some kind of
"full-response" flag for the "relative_times_sizes_process_stats"
patch to be useful.


--- flood_profile.c.orig	2003-02-07 09:34:02.000000000 -0800
+++ flood_profile.c	2003-02-07 14:01:16.000000000 -0800
@@ -306,7 +306,7 @@
 const char * socket_generic_group[] = { "generic_socket_init", "generic_begin_conn", "generic_send_req",
"generic_recv_resp", "generic_end_conn", "generic_socket_destroy", NULL };
 const char * socket_keepalive_group[] = { "keepalive_socket_init", "keepalive_begin_conn",
"keepalive_send_req", "keepalive_recv_resp", "keepalive_end_conn", "keepalive_socket_destroy",
 const char * profile_round_robin_group[] = { "round_robin_profile_init", "round_robin_get_next_url",
"round_robin_create_req", "round_robin_postprocess", "round_robin_loop_condition", "round_robin_profile_destroy",
-const char * report_relative_times_group[] = { "relative_times_report_init", "relative_times_process_stats",
"relative_times_sizes_process_stats", "relative_times_report_stats", "relative_times_destroy_report",
+const char * report_relative_times_group[] = { "relative_times_report_init", "relative_times_process_stats",
"relative_times_report_stats", "relative_times_destroy_report", NULL };
 profile_group_handler_t profile_group_handlers[] = {
     {"report", "easy", report_easy_group },

------- Original Message Dated: Fri, 07 Feb 2003 08:22:58 -0800
|    From:
|      To:
| Subject: [PATCH] flood: Add handler relative_times_sizes_process_stats

| This patch adds an alternative to the handler:
|   relative_times_process_stats
| The new handler:
|   relative_times_sizes_process_stats
| includes the number of bytes sent in the request and received in the
| response.  This patch retrieves the number of bytes sent and received
| from data member "rbufsize" in the request (request_t) and response
| (response_t) structures.
| ...

View raw message