Class AccessLogSampler
- java.lang.Object
-
- org.apache.jmeter.testelement.AbstractTestElement
-
- org.apache.jmeter.samplers.AbstractSampler
-
- org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase
-
- org.apache.jmeter.protocol.http.sampler.HTTPSampler
-
- org.apache.jmeter.protocol.http.sampler.AccessLogSampler
-
- All Implemented Interfaces:
Serializable
,Cloneable
,ConfigMergabilityIndicator
,Searchable
,HTTPConstantsInterface
,Interruptible
,Sampler
,TestBean
,TestElement
,TestIterationListener
,TestStateListener
,ThreadListener
public class AccessLogSampler extends HTTPSampler implements TestBean, ThreadListener
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
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.
Created on: Jun 26, 2003
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase
HTTPSamplerBase.SourceType
-
-
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT_CLASS
-
Fields inherited from class org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase
ARGUMENTS, AUTH_MANAGER, AUTO_REDIRECTS, BROWSER_COMPATIBLE_MULTIPART, BROWSER_COMPATIBLE_MULTIPART_MODE_DEFAULT, CACHE_MANAGER, CONCURRENT_DWN, CONCURRENT_POOL, CONCURRENT_POOL_SIZE, CONNECT_TIMEOUT, CONTENT_ENCODING, CONTENT_TYPE, COOKIE_MANAGER, DEFAULT_METHOD, DNS_CACHE_MANAGER, DO_MULTIPART_POST, DOMAIN, EMBEDDED_URL_RE, FOLLOW_REDIRECTS, HEADER_MANAGER, IMAGE_PARSER, IMPLEMENTATION, IP_SOURCE, IP_SOURCE_TYPE, MAX_FRAME_DEPTH, MAX_REDIRECTS, METHOD, MONITOR, NON_HTTP_RESPONSE_CODE, NON_HTTP_RESPONSE_MESSAGE, PATH, PORT, POST_BODY_RAW, POST_BODY_RAW_DEFAULT, PROTOCOL, PROXYHOST, PROXYPASS, PROXYPORT, PROXYUSER, RESPONSE_TIMEOUT, UNSPECIFIED_PORT, UNSPECIFIED_PORT_AS_STRING, URL, URL_UNSPECIFIED_PORT, URL_UNSPECIFIED_PORT_AS_STRING, USE_KEEPALIVE
-
Fields inherited from interface org.apache.jmeter.protocol.http.util.HTTPConstantsInterface
APPLICATION_X_WWW_FORM_URLENCODED, CACHE_CONTROL, CONNECT, CONNECTION_CLOSE, COPY, DATE, DEFAULT_HTTP_PORT, DEFAULT_HTTP_PORT_STRING, DEFAULT_HTTPS_PORT, DEFAULT_HTTPS_PORT_STRING, DELETE, ENCODING_GZIP, ETAG, EXPIRES, GET, HEAD, HEADER_AUTHORIZATION, HEADER_CONNECTION, HEADER_CONTENT_DISPOSITION, HEADER_CONTENT_ENCODING, HEADER_CONTENT_LENGTH, HEADER_CONTENT_TYPE, HEADER_COOKIE, HEADER_HOST, HEADER_LOCAL_ADDRESS, HEADER_LOCATION, HEADER_SET_COOKIE, HTTP_1_1, IF_MODIFIED_SINCE, IF_NONE_MATCH, KEEP_ALIVE, LAST_MODIFIED, LOCK, MKCALENDAR, MKCOL, MOVE, MULTIPART_FORM_DATA, OPTIONS, PATCH, POST, PROPFIND, PROPPATCH, PROTOCOL_HTTP, PROTOCOL_HTTPS, PUT, REPORT, TRACE, TRANSFER_ENCODING, UNLOCK
-
Fields inherited from interface org.apache.jmeter.testelement.TestElement
COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS
-
-
Constructor Summary
Constructors Constructor Description AccessLogSampler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
clone()
String
getDomain()
String
getFilterClassName()
String
getLogFile()
Get the path where XML messages are stored. this is the directory where JMeter will randomly select a file.String
getParserClassName()
Get the file location of the xml file.String
getPortString()
protected void
initFilter()
void
instantiateParser()
Method will instantiate the log parser based on the class in the text field.boolean
isImageParsing()
SampleResult
sample(Entry e)
sample(Entry e) simply calls sample().SampleResult
sampleWithParser()
sample gets a new HTTPSampler from the generator and calls it's sample() method.void
setDomain(String domain)
void
setFilterClassName(String filterClassName)
void
setImageParsing(boolean imageParsing)
void
setLogFile(String path)
Set the path where XML messages are stored for random selection.void
setParserClassName(String classname)
it's kinda obvious, but we state it anyways.void
setPortString(String port)
void
testEnded()
Called once for all threads after the end of a test.void
testStarted()
Called just before the start of the test from the main engine thread.void
threadFinished()
Called for each thread after all samples have been processed.-
Methods inherited from class org.apache.jmeter.protocol.http.sampler.HTTPSampler
interrupt, sample
-
Methods inherited from class org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase
addArgument, addArgument, addEncodedArgument, addEncodedArgument, addEncodedArgument, addNonEncodedArgument, addTestElement, applies, clearTestElementChildren, downloadPageResources, encodeBackSlashes, encodeSpaces, errorResult, followRedirects, getArguments, getAuthManager, getAutoRedirects, getCacheManager, getConcurrentPool, getConnectTimeout, getContentEncoding, getCookieManager, getDefaultPort, getDNSResolver, getDoBrowserCompatibleMultipart, getDoMultipartPost, getEmbeddedUrlRE, getFollowRedirects, getHeaderManager, getHTTPFileCount, getHTTPFiles, getImplementation, getIpSource, getIpSourceType, getMethod, getMonitor, getPath, getPort, getPortIfSpecified, getPostBodyRaw, getProtocol, getProxyHost, getProxyPass, getProxyPortInt, getProxyUser, getQueryString, getQueryString, getResponseTimeout, getSendFileAsPostBody, getSendParameterValuesAsPostBody, getSourceTypeList, getUrl, getUseKeepAlive, getUseMultipartForPost, getValidMethodsAsArray, hasArguments, isConcurrentDwn, isImageParser, isMonitor, isProtocolDefaultPort, isSecure, isSecure, isSuccessCode, parseArguments, parseArguments, readResponse, resultProcessing, sample, setArguments, setAuthManager, setAutoRedirects, setCacheManager, setConcurrentDwn, setConcurrentPool, setConnectTimeout, setContentEncoding, setCookieManager, setDNSResolver, setDoBrowserCompatibleMultipart, setDoMultipartPost, setEmbeddedUrlRE, setFollowRedirects, setHeaderManager, setHTTPFiles, setImageParser, setImplementation, setIpSource, setIpSourceType, setMD5, setMethod, setMonitor, setMonitor, setPath, setPath, setPort, setPostBodyRaw, setProtocol, setResponseTimeout, setUseKeepAlive, testEnded, testIterationStart, testStarted, threadStarted, toString, useMD5
-
Methods inherited from class org.apache.jmeter.testelement.AbstractTestElement
addPropertiesValues, addProperty, addProperty, canRemove, clear, clearTemporary, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getSearchableTokens, getThreadContext, getThreadName, hashCode, isEnabled, isRunningVersion, isTemporary, logProperties, mergeIn, propertyIterator, recoverRunningVersion, removeProperty, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse, traverseCollection, traverseMap, traverseProperty
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.jmeter.testelement.TestElement
canRemove, clear, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getThreadContext, getThreadName, isEnabled, isRunningVersion, isTemporary, propertyIterator, recoverRunningVersion, removeProperty, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse
-
Methods inherited from interface org.apache.jmeter.testelement.ThreadListener
threadStarted
-
-
-
-
Field Detail
-
DEFAULT_CLASS
public static final String DEFAULT_CLASS
- See Also:
- Constant Field Values
-
-
Method Detail
-
setLogFile
public void setLogFile(String path)
Set the path where XML messages are stored for random selection.- Parameters:
path
- path where to store XML messages
-
getLogFile
public String getLogFile()
Get the path where XML messages are stored. this is the directory where JMeter will randomly select a file.- Returns:
- path where XML messages are stored
-
setParserClassName
public void setParserClassName(String classname)
it's kinda obvious, but we state it anyways. Set the xml file with a string path.- Parameters:
classname
- - parser class name
-
getParserClassName
public String getParserClassName()
Get the file location of the xml file.- Returns:
- String file path.
-
sampleWithParser
public SampleResult sampleWithParser()
sample gets a new HTTPSampler from the generator and calls it's sample() method.- Returns:
- newly generated and called sample
-
sample
public SampleResult sample(Entry e)
sample(Entry e) simply calls sample().- Specified by:
sample
in interfaceSampler
- Overrides:
sample
in classHTTPSamplerBase
- Parameters:
e
- - ignored- Returns:
- the new sample
-
instantiateParser
public void instantiateParser()
Method will instantiate the log parser based on the class in the text field. This was done to make it easier for people to plugin their own log parser and use different log parser.
-
getFilterClassName
public String getFilterClassName()
- Returns:
- Returns the filterClassName.
-
setFilterClassName
public void setFilterClassName(String filterClassName)
- Parameters:
filterClassName
- The filterClassName to set.
-
getDomain
public String getDomain()
- Overrides:
getDomain
in classHTTPSamplerBase
- Returns:
- Returns the domain.
-
setDomain
public void setDomain(String domain)
- Overrides:
setDomain
in classHTTPSamplerBase
- Parameters:
domain
- The domain to set.
-
isImageParsing
public boolean isImageParsing()
- Returns:
- Returns the imageParsing.
-
setImageParsing
public void setImageParsing(boolean imageParsing)
- Parameters:
imageParsing
- The imageParsing to set.
-
getPortString
public String getPortString()
- Returns:
- Returns the port.
-
setPortString
public void setPortString(String port)
- Parameters:
port
- The port to set.
-
initFilter
protected void initFilter()
-
clone
public Object clone()
- Specified by:
clone
in interfaceTestElement
- Overrides:
clone
in classHTTPSamplerBase
-
testEnded
public void testEnded()
Called once for all threads after the end of a test. This will use the same element instances as at the start of the test.
N.B. testStarted() and testEnded() are called from different threads.
- Specified by:
testEnded
in interfaceTestStateListener
- Overrides:
testEnded
in classHTTPSamplerBase
- See Also:
StandardJMeterEngine.stopTest()
-
testStarted
public void testStarted()
Called just before the start of the test from the main engine thread. This is before the test elements are cloned. Note that not all the test variables will have been set up at this point.
N.B. testStarted() and testEnded() are called from different threads.
- Specified by:
testStarted
in interfaceTestStateListener
- Overrides:
testStarted
in classHTTPSamplerBase
- See Also:
StandardJMeterEngine.run()
-
threadFinished
public void threadFinished()
Called for each thread after all samples have been processed.- Specified by:
threadFinished
in interfaceThreadListener
- Overrides:
threadFinished
in classHTTPSamplerBase
- See Also:
JMeterThread.threadFinished(org.apache.jmeter.engine.event.LoopIterationListener)
-
-