woolfel     2003/10/21 05:42:43

  Modified:    xdocs/usermanual component_reference.xml
  Log:
  added component documentation for the new Access Log Sampler
  
  Revision  Changes    Path
  1.58      +62 -2     jakarta-jmeter/xdocs/usermanual/component_reference.xml
  
  Index: component_reference.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/xdocs/usermanual/component_reference.xml,v
  retrieving revision 1.57
  retrieving revision 1.58
  diff -u -r1.57 -r1.58
  --- component_reference.xml   16 Oct 2003 00:39:04 -0000      1.57
  +++ component_reference.xml   21 Oct 2003 12:42:42 -0000      1.58
  @@ -278,9 +278,15 @@
                                         </links>
   
   </component>
  +
   <component name="WebService(SOAP) Request (Alpha Code)" index="13.1.7" 
screenshot="webservice_sampler.png">
   
  -<description><p>This sampler has been tested with IIS Webservice running .NET 1.0. 
It hasn't been tested with SUN or IBM webservices providers, but it should work. The 
sampler uses Apache SOAP driver, to serialize the message and set the header with the 
correct SOAPAction. Right now the sampler doesn't support automatic WSDL handling, 
since Apache SOAP currently doesn't provide support for it. Both IBM and SUN provide 
WSDL drivers.</p>
  +<description><p>This sampler has been tested with IIS Webservice running .NET 1.0. 
It
  + hasn't been tested with SUN or IBM webservices providers, but it should work.
  + The sampler uses Apache SOAP driver, to serialize the message and set the header
  + with the correct SOAPAction. Right now the sampler doesn't support automatic WSDL
  + handling, since Apache SOAP currently does not provide support for it. Both IBM
  + and SUN provide WSDL drivers.</p>
   </description>
   
   <properties>
  @@ -290,6 +296,60 @@
           <property name="SOAPAction" required="Yes">The SOAPAction defined in the 
webservice description or WSDL.</property>
           <property name="Soap Data" required="Yes">The Soap XML message</property>
           </properties>
  +
  +</component>
  +
  +<component name="Access Log Sampler (Alpha Code" index="13.1.8" screenshot="">
  +
  +<description><p>AccessLogSampler was designed to read access logs and generate http 
requests.
  +For those not familiar with the access log, it is the log the webserver maintains 
of every
  +request it accepted. This means the every image and html file. The current 
implementation
  +is complete, but some features have not been enabled. There is a filter for the 
access
  +log parser, but I haven't figured out how to link to the pre-processor. Once I do, 
changes
  +to the sampler will be made to enable that functionality.</p>
  +<p>Tomcat uses the common format for access logs. This means any webserver that 
uses the
  +common log format can use the AccessLogSampler. Server that don't use common log 
format
  +include IIS, Netscape and SunOne. I'm sure there are other servers that don't use 
the
  +common format, but we don't bother listing all of them here. Common log format looks
  +like this:</p>
  +<p>127.0.0.1 - - [21/Oct/2003:05:37:21 -0500] "GET /index.jsp?%2Findex.jsp= 
HTTP/1.1" 200 8343</p>
  +<p>The current implemenation of the parser only looks at the text within the quotes.
  +Everything else is stripped out and igored. For example, the response code is 
completely
  +ignored by the parser. For the future, it might be nice to filter out entries that
  +do not have a response code of 200. Extending the sampler should be fairly simple. 
There
  +are two interfaces you have to implement.</p>
  +<p>org.apache.jmeter.protocol.http.util.accesslog.LogParser</p>
  +<p>org.apache.jmeter.protocol.http.util.accesslog.Generator</p>
  +<p>The current implementation of AccessLogSampler uses the generator to create a new
  +HTTPSampler. The servername, port and get images are set by AccessLogSampler. Next,
  +the parser is called with integer 1, telling it to parse one entry. After that,
  +HTTPSampler.sample() is called to make the request.
  +<code>
  +<pre>
  +            samp = (HTTPSampler) GENERATOR.generateRequest();
  +            samp.setDomain(this.getDomain());
  +            samp.setPort(this.getPort());
  +            samp.setImageParser(this.isImageParser());
  +            PARSER.parse(1);
  +            res = samp.sample();
  +            res.setSampleLabel(samp.toString());
  +</pre>
  +</code>
  +The required methods in LogParser are: setGenerator(Generator) and parse(int).
  +Classes implementing Generator interface should provide concrete implementation
  +for all the methods. For an example of how to implement either interface, refer to
  +StandardGenerator and TCLogParser.
  +</p>
  +</description>
  +
  +<properties>
  +        <property name="Name" required="No">Descriptive name for this controller 
that is shown in the tree.</property>
  +        <property name="Server" required="Yes">Domain name or IP address of the web 
server.</property>
  +        <property name="Port" required="No (defaults to 80)">Port the web server is 
listening to.</property>
  +        <property name="Log parser class" required="No (default provided)">The log 
parser class is responsible for parsing the logs.</property>
  +        <property name="Generator class" required="No (default provided)">The 
generator class is responsible for creating HTTPSampler objects.</property>
  +        <property name="Location of log file" required="Yes">The location of the 
access log file.</property>
  +</properties>
   
   </component>
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to