blob: e7568ad0bb5431a700d2d2ea3f9a72a474b152fe [file] [log] [blame]
Changes since milestone-0-1:
* Merge SSL socket code in with the normal socket calls. flood will
now determine (based on the protocol scheme) whether it should use
SSL or not. [Justin Erenkrantz]
* Add ability to retrieve some data from the response and place it in
state variables (max of 10). These "state" variables live for the
life of the profile (i.e. all elements in the urllist). They may be
referred in any template via $[0-9]. Add ability to store the
entire response (only active if a response template is present).
[Justin Erenkrantz]
* Added a new report type called "relative_timers". Each
of our 4 main timers is printed just as with the "easy"
reporting scheme, only they only show elapsed time since
the beginning of the request/response test cycle.
[Aaron Bannert]
* Added another timer (begin) that happens immediately before
the connect() is made (or would be made). This is necessary
if we want to calculate the elapsed time for the rest of
our timers. [Aaron Bannert]
* Add better resolution timers (connect, write, read, close).
[Justin Erenkrantz]
* A farmer may now be run for an arbitrary amount of time (specified in
seconds) rather than a specific number of requests. [Justin Erenkrantz]
* The seed used for the global pseudo-random number generator
can now be set with the <seed>n</seed> tag. [Aaron Bannert]
* Added random pre and post delay. You can also specify a precision
amount. This means that the actual delay will be:
actual_delay + (precision * e)
(where e is a number between -1 and 1).
This can be accomplished in the <url> tag, like so:
<url predelay="10" predelayprecision="2">http://example.com/</url>
<url postdelay="10" postdelayprecision="2">http://example.com/</url>
Both types of delays can be used together, and they are all optional.
[Aaron Bannert]
* Add pseudo-random data to a POST payload via the $$ character in the
new payloadtemplate parameter for a URL. [Justin Erenkrantz]
* 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 is still valid).
[Justin Erenkrantz]
* Profile events are now split into logical "groups". A "group"
is a bunch of functions that all need to be overriden together
to add some new functionality. This logical grouping may
become enforced in code at some later time (it will make
it easier for users to build configurations). Currently
the groupings we have are:
profile events, socket events, reporting events, and
verification events. [Aaron Bannert]
* Added delay support for urllist. A urllist entry can now be
given a delay (in seconds) that happens each time that URL
is used in a request. [Justin Erenkrantz]
* Changed "simple" and "easy" reporting systems to both print
out the URL for each request. [Aaron Bannert]
* Now using strncasecmp() instead of strncmp() to compare XML
identifiers. [Aaron Bannert]
* There is now limited support for Cookies in a Round Robin profile.
[Justin Erenkrantz]
* A Farm can consist of multiple Farmers now, instead of being
restricted to a single Farmer named "Joe". (This is only correct
if you have thread support on your system.) [Aaron Bannert]
* Limited support for Farms has been implemented. There can
be one Farm named "Bingo". [Aaron Bannert]