Description:
AccessLogSampler is responsible for a couple of things:
- creating instances of Generator
- creating instances of Parser
- triggering popup windows
- calling Generator.generateRequest()
- checking to make sure the classes are valid
- making sure a class can be instantiated
The intent of this sampler is it uses the generator and parser to create a
HTTPSampler when it is needed. It does not contain logic about how to parse
the logs. It also doesn't care how Generator is implemented, as long as it
implements the interface. This means a person could simply implement a dummy
parser to generate random parameters and the generator consumes the results.
This wasn't the original intent of the sampler. I originally wanted to write
this sampler, so that I can take production logs to simulate production
traffic in a test environment. Doing so is desirable to study odd or unusual
behavior. It's also good to compare a new system against an existing system
to get near apples-to-apples comparison. I've been asked if benchmarks are
really fair comparisons just about every single time, so this helps me
accomplish that task.
Some bugs only appear under production traffic, so it is useful to generate
traffic using production logs. This way, JMeter can record when problems
occur and provide a way to match the server logs.