| Data Source |
Target |
| API |
Apache HTTPClient, Java |
webrec is a utility based on Apache HTTPClient, written in Java
intended to be used to measure response times for different HTTP actions:
POST, GET. Currently webrec supports only GET HTTP methods. Work in under
way to expand this to POST methods and authentication.
webrec checks for a master configuration file, called: webrec.conf
located under SDR/etc/ director, where SDR Recording module has been installed.
It parses the configuration file: webrec.conf and it retrieves the values for
timeout and the name definitions of each workload. For each workload it creates
a thread and its starting to follow each URL recording the response times.
WebRec supports Cookies as defined in
RFC 2965
webrec operates against one or many workloads. Workload
defines a sequence of URLs with the following properties:
- name : name of the workload
- delay : delay after each URL (in seconds)
- interval: the interval to invoke workloads (in seconds)
- timeout : determines the timeout until a connection is etablished.
A value of zero means the timeout is not used.
The default value is zero. (in milliseconds)
The output from webrec is displayed below:
| timestamp |
transaction name |
response time (ms) |
| 1273024907: |
main: |
0.352 |
| 1273024912: |
recdesign: |
0.355 |
| 1273024917: |
recorders: |
0.381 |
| 1273024922: |
reporting: |
0.318 |
| 1273024927: |
cpuplayer: |
0.399 |
| 1273024932: |
relnotes: |
1.174 |
| 1273024937: |
docs: |
0.298 |
| 1273024942: |
faq: |
0.366 |
The webrec.conf contains a single workload, called sdr with
8 transactions, each performed after Z=5 seconds. Delay parameter defines
the number of seconds between each transaction.
<workload name="sdr" delay="5" interval="60" timeout="120">
<transaction
id="main"
method="GET"
url="http://www.systemdatarecorder.org/"
value="xxx"/>
<transaction
id="recdesign"
method="GET"
url="http://www.systemdatarecorder.org/recording/recdesign.html"
value="xxx"/>
<transaction
id="recorders"
method="GET"
url="http://www.systemdatarecorder.org/recording/recorders.html"
value="xxx"/>
<transaction
id="reporting"
method="GET"
url="http://www.systemdatarecorder.org/reporting/"
value="xxx"/>
<transaction
id="cpuplayer"
method="GET"
url="http://www.systemdatarecorder.org/cpuplayer/"
value="xxx"/>
<transaction
id="relnotes"
method="GET"
url="http://www.systemdatarecorder.org/man/relnotes.html"
value="xxx"/>
<transaction
id="docs"
method="GET"
url="http://www.systemdatarecorder.org/man/index.html"
value="xxx"/>>
<transaction
id="faq"
method="GET"
url="http://www.systemdatarecorder.org/man/faq.html"
value="xxx"/>
</workload>
|
At this moment webrec.conf must be manually written. Plans are to reuse the
test plan generated by
Apache jmeter to webrec, to easy the task of recording a series of
transactions. You can however even now, record your workloads using
jmeter and convert that to webrec or manually define the
workload definition.