Log of /httpd/flood/trunk/flood_profile.c
Parent Directory
|
Revision Log
Revision
490946 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Fri Dec 29 07:49:58 2006 UTC
(17 years, 7 months ago)
by
jerenkrantz
Original Path:
httpd/test/trunk/flood/flood_profile.c
File length: 29584 byte(s)
Diff to
previous 106525
(
colored)
Update flood to the new license header.
* flood/NOTICE: Update the copyright year to the date of first publication.
* flood/flood_farmer.c, flood/flood_report_relative_times.h,
flood/flood_simple_reports.h, flood/flood_test.c, flood/flood.c,
flood/flood_farmer.h, flood/flood_socket_generic.c, flood/flood_farm.c,
flood/flood_socket_generic.h, flood/flood_farm.h, flood/flood_config.c,
flood/flood_net_ssl.c, flood/flood_config.h, flood/flood_net_ssl.h,
flood/flood_socket_keepalive.c, flood/flood_easy_reports.c,
flood/flood_round_robin.c, flood/flood_socket_keepalive.h,
flood/flood_easy_reports.h, flood/flood_round_robin.h, flood/flood_net.c,
flood/flood_net.h, flood/flood_profile.c, flood/flood_profile.h,
flood/flood_report_relative_times.c, flood/flood_simple_reports.c:
Update to new license header.
(Used committers/relicense/src/perl/update-AL20.pl)
Revision
98633 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Wed Feb 12 22:50:59 2003 UTC
(21 years, 6 months ago)
by
jerenkrantz
Original Path:
httpd/test/trunk/flood/flood_profile.c
File length: 31423 byte(s)
Diff to
previous 98589
(
colored)
Added generic_fullresp_recv_resp() to force full response.
This patch adds a new handler that always retrieves the entire response.
This handler is needed because we currently do not have a way to tell
flood to always retrieve the entire response. We have a "wantresponse"
flag that tells the socket code whether or not to retrieve the entire
response. Handlers such as round_robin_create_req() set this flag based
on varying factors. With the new generic_fullresp_recv_resp() handler,
you can specify it in your <profile> section like this:
<recv_resp>generic_fullresp_recv_resp</recv_resp>
to cause flood to retrieve the entire response.
When used with the handler:
relative_times_process_stats
you can measure the total bytes sent and received with each request
and response.
Submitted by: Phi-Long Tran <ptran@pobox.com>
Reviewed by: Justin Erenkrantz
Revision
90017 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Tue Aug 7 23:58:40 2001 UTC
(23 years ago)
by
aaron
Original Path:
httpd/test/trunk/flood/flood_profile.c
File length: 30283 byte(s)
Diff to
previous 89954
(
colored)
Fixed a runtime error that was not properly caught. Now
it prints a useful error and returns a less deceiving
error code. The SEGV would occur when an input config
contained an invalid "group" name.
(Note: APR_NOTFOUND == "APR was unable to find the socket
in the poll structure", and that's probably not the right
error message for this.)
Revision
89952 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Mon Aug 6 19:44:12 2001 UTC
(23 years ago)
by
jerenkrantz
Original Path:
httpd/test/trunk/flood/flood_profile.c
File length: 30587 byte(s)
Diff to
previous 89914
(
colored)
Merge SSL socket code in with the normal socket calls. Now determined
based on the scheme.
Note that the flood_net.c code may return APR_EGENERAL (there really is
no way to map to APR_EOF or APR_ETIMEUP with OpenSSL's API), so that
must also be checked and treated as an error.
Remove the flood_socket_ssl.c code. We were doing the abstraction twice.
Once at the flood_socket level and the flood_net level, this is cleaner.
Revision
89914 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sat Aug 4 01:23:45 2001 UTC
(23 years ago)
by
aaron
Original Path:
httpd/test/trunk/flood/flood_profile.c
File length: 30811 byte(s)
Diff to
previous 89904
(
colored)
Adds a new reporting mechanism where elapsed times during
each request/response test cycle are printed as opposed
to the absolute time samples reported in the "easy"
reports scheme. The new scheme is called "relative_reports".
I've included a new sample file that exemplifies this.
Revision
89904 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Fri Aug 3 04:55:53 2001 UTC
(23 years ago)
by
jerenkrantz
Original Path:
httpd/test/trunk/flood/flood_profile.c
File length: 29634 byte(s)
Diff to
previous 89859
(
colored)
Add better resolution timers (connect, write, read, close).
Adjust easy reports to print these timers out.
(Aaron, I did this tonight rather than wait until tomorrow because I
want to capture this info on some long runs that I will be running
overnight. Sorry! Let me know if you have any issues with this
implementation...)
Revision
89859 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Wed Aug 1 06:52:25 2001 UTC
(23 years ago)
by
jerenkrantz
Original Path:
httpd/test/trunk/flood/flood_profile.c
File length: 29389 byte(s)
Diff to
previous 89848
(
colored)
Add group shortcuts when defining a profile. The following syntaxes are
now valid:
<report>easy</report>
<report>simple</report>
<socket>generic</socket>
<socket>ssl</socket>
<socket>keepalive</socket>
<profiletype>round_robin</profiletype>
These tags will now setup the functions for this "group." You do not need
to know the function names anymore (although the old syntax which specifies
the function names is still valid). If you specify a "group" and a function
name, the function name will override the one defined in the group.
Added a round-robin.xml example that shows this.
I spent way too much time editing the XML files when the silly function
names changed. No more.
Revision
89848 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Wed Aug 1 03:10:37 2001 UTC
(23 years ago)
by
aaron
Original Path:
httpd/test/trunk/flood/flood_profile.c
File length: 25916 byte(s)
Diff to
previous 89808
(
colored)
This is an atypically large patch. I got half way into fixing
the profile_events API to work with keepalive when I realized
that these event "groups" should be off in their own files.
So:
- Updated the profile_events_t struct to handle sockets
in an abstractable way. They now have a lifetime and
their behaviour can be overriden in this manner.
- Regrouped the events in the profile_events to make
more sense. This stuff should probable be split up
into the groups (where a "group" is a bunch of
event functions that need to all be overriden at
once to provide some new functionality). Currently
the groups are: profile, sockets, reporting, verification.
- Moved the three implementations that we currently have
for the socket events group each into their own files.
The current flavors are: generic, ssl, and keepalive.
- Updated the various examples to work with the new
events.
Revision
89764 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun Jul 29 15:43:07 2001 UTC
(23 years ago)
by
jerenkrantz
Original Path:
httpd/test/trunk/flood/flood_profile.c
File length: 30057 byte(s)
Diff to
previous 89694
(
colored)
Add HTTP Keep-Alive support (rudimentary, but functional).
This is done by adding two new hooks:
open_req - Opens a socket (send_req used to do this implicitly).
create_req - Constructs the request (used to be part of get_next_url).
The open_req is executed *before* the create_req because we need to know
if we are a keepalive request and only the socket code knows whether we
are keepalive or not. This is a slight performance penalty on non-keepalive
requests because we are creating the request buffer *after* we have opened
the socket. We could do a "create_sock" that does everything but connect
and sets the keepalive flag? I'll discuss this with Aaron on Monday.
We now have a field in the request that specifies if it should be
Keep-Alive or not. Also, the response has a keepalive field to indicate
whether the connection was keptalive. If the connection was not keptalive,
then the socket should be closed at each iteration.
Revision
89694 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Wed Jul 25 00:33:31 2001 UTC
(23 years ago)
by
aaron
Original Path:
httpd/test/trunk/flood/flood_profile.c
File length: 24665 byte(s)
Diff to
previous 89691
(
colored)
process_stats() now takes the request and the response objects.
Both are public structures, so this does not cause reporting
to be coupled to profile implementation.
This changes was made to facilitate the reporting mechanism,
so it now has access to the current URI being requested, and
both simple_reports and easy_reports were modified to print
out the current URI.
This form allows you to request diffs between any two revisions of this file.
For each of the two "sides" of the diff,
enter a numeric revision.