Class SessionFilter

All Implemented Interfaces:
Serializable, Cloneable, Filter, TestCloneable, ThreadListener

@AutoService(Filter.class) public class SessionFilter extends Object implements Filter, Serializable, TestCloneable, ThreadListener
Provides Session Filtering for the AccessLog Sampler.
See Also:
  • Constructor Details

    • SessionFilter

      public SessionFilter()
      Creates a new SessionFilter and initializes its fields to new collections
    • SessionFilter

      public SessionFilter(Map<String,CookieManager> cookieManagers, Set<CookieManager> managersInUse)
      Creates a new SessionFilter, but re-uses the given collections
      cookieManagers - CookieManagers to be used for the different IPs
      managersInUse - CookieManagers currently in use by other threads
  • Method Details

    • hasExcPattern

      protected boolean hasExcPattern(String text)
    • getIpAddress

      protected static String getIpAddress(String logLine)
    • reset

      public void reset()
      Tell the filter when the parsing has reached the end of the log file and is about to begin again. Gives the filter a chance to adjust it's values, if needed.
      Specified by:
      reset in interface Filter
    • clone

      public Object clone()
      Specified by:
      clone in interface TestCloneable
      clone in class Object
    • excludeFiles

      public void excludeFiles(String[] filenames)
      Exclude all files in the array
      Specified by:
      excludeFiles in interface Filter
      filenames - names of files to exclude
    • excludePattern

      public void excludePattern(String[] regexp)
      Exclude any log entry that contains the following regular expression pattern.
      Specified by:
      excludePattern in interface Filter
      regexp - list of regexp that match entries that should be excluded
    • filter

      public String filter(String text)
      In case the user wants to replace the file extension, log parsers should call this method. This is useful for regression test plans. If a website is migrating from one platform to another and the file extension changes, the filter provides an easy way to do it without spending a lot of time.
      Specified by:
      filter in interface Filter
      text - log line to be filtered
    • includeFiles

      public void includeFiles(String[] filenames)
      Include all files in the array.
      Specified by:
      includeFiles in interface Filter
      filenames - names of files to include
    • includePattern

      public void includePattern(String[] regexp)
      Include any log entry that contains the following regular expression pattern.
      Specified by:
      includePattern in interface Filter
      regexp - list of regexp that match entries that should be included
    • isFiltered

      public boolean isFiltered(String path, org.apache.jmeter.testelement.TestElement sampler)
      Log parser will call this method to see if a particular entry should be filtered or not.
      Specified by:
      isFiltered in interface Filter
      path - log line that should be checked if it should to be filtered out
      sampler - TestElement in which the line would be added
      boolean true if line should be filtered out, false otherwise
    • getCookieManager

      protected CookieManager getCookieManager(String ipAddr)
    • setReplaceExtension

      public void setReplaceExtension(String oldextension, String newextension)
      Specified by:
      setReplaceExtension in interface Filter
      oldextension - old extension
      newextension - new extension
    • threadFinished

      public void threadFinished()
      Called for each thread after all samples have been processed. See org.apache.jmeter.threads.JMeterThread#threadFinished(org.apache.jmeter.engine.event.LoopIterationListener)
      Specified by:
      threadFinished in interface ThreadListener
    • threadStarted

      public void threadStarted()
      Called for each thread before starting sampling. WARNING: this is called before any Config test elements are processed, so any properties they define will not have been merged in yet. See org.apache.jmeter.threads.JMeterThread#threadStarted()
      Specified by:
      threadStarted in interface ThreadListener