blob: 2fde56ddfbd7804f450692601835770116be77d4 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>Filter (Apache JMeter dist API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.jmeter.protocol.http.util.accesslog, interface: Filter">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<div class="about-language"><b>Apache JMeter</b></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.jmeter.protocol.http.util.accesslog</a></div>
<h1 title="Interface Filter" class="title">Interface Filter</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="LogFilter.html" title="class in org.apache.jmeter.protocol.http.util.accesslog">LogFilter</a></code>, <code><a href="SessionFilter.html" title="class in org.apache.jmeter.protocol.http.util.accesslog">SessionFilter</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">Filter</span></div>
<div class="block">Description:<br>
<br>
Filter interface is designed to make it easier to use Access Logs for JMeter
test plans. Normally, a person would have to clean a log file manually and
create the JMeter requests. The access log parse utility uses the filter to
include/exclude files by either file name or regular expression pattern.
<p>
It will also be used by HttpSamplers that use access logs. Using access logs
is intended as a way to simulate production traffic. For functional testing,
it is better to use the standard functional testing tools in JMeter. Using
access logs can also reduce the amount of memory needed to run large test
plans. <br></div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#excludeFiles(java.lang.String%5B%5D)" class="member-name-link">excludeFiles</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;filenames)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Exclude all files in the array</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#excludePattern(java.lang.String%5B%5D)" class="member-name-link">excludePattern</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;regexp)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Exclude any log entry that contains the following regular expression
pattern.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#filter(java.lang.String)" class="member-name-link">filter</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;text)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">In case the user wants to replace the file extension, log parsers should
call this method.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#includeFiles(java.lang.String%5B%5D)" class="member-name-link">includeFiles</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;filenames)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Include all files in the array.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#includePattern(java.lang.String%5B%5D)" class="member-name-link">includePattern</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;regexp)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Include any log entry that contains the following regular expression
pattern.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isFiltered(java.lang.String,org.apache.jmeter.testelement.TestElement)" class="member-name-link">isFiltered</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;path,
<a href="../../../../testelement/TestElement.html" title="interface in org.apache.jmeter.testelement">TestElement</a>&nbsp;sampler)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Log parser will call this method to see if a particular entry should be
filtered or not.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#reset()" class="member-name-link">reset</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Tell the filter when the parsing has reached the end of the log file and
is about to begin again.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#setReplaceExtension(java.lang.String,java.lang.String)" class="member-name-link">setReplaceExtension</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;oldextension,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;newextension)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="setReplaceExtension(java.lang.String,java.lang.String)">
<h3>setReplaceExtension</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">setReplaceExtension</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;oldextension,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;newextension)</span></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>oldextension</code> - old extension</dd>
<dd><code>newextension</code> - new extension</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="includeFiles(java.lang.String[])">
<h3>includeFiles</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">includeFiles</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;filenames)</span></div>
<div class="block">Include all files in the array.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>filenames</code> - names of files to include</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="excludeFiles(java.lang.String[])">
<h3>excludeFiles</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">excludeFiles</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;filenames)</span></div>
<div class="block">Exclude all files in the array</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>filenames</code> - names of files to exclude</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="includePattern(java.lang.String[])">
<h3>includePattern</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">includePattern</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;regexp)</span></div>
<div class="block">Include any log entry that contains the following regular expression
pattern.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>regexp</code> - list of regexp that match entries that should be included</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="excludePattern(java.lang.String[])">
<h3>excludePattern</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">excludePattern</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;regexp)</span></div>
<div class="block">Exclude any log entry that contains the following regular expression
pattern.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>regexp</code> - list of regexp that match entries that should be excluded</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isFiltered(java.lang.String,org.apache.jmeter.testelement.TestElement)">
<h3>isFiltered</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">isFiltered</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;path,
<a href="../../../../testelement/TestElement.html" title="interface in org.apache.jmeter.testelement">TestElement</a>&nbsp;sampler)</span></div>
<div class="block">Log parser will call this method to see if a particular entry should be
filtered or not.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>path</code> - log line that should be checked if it should to be filtered
out</dd>
<dd><code>sampler</code> - <a href="../../../../testelement/TestElement.html" title="interface in org.apache.jmeter.testelement"><code>TestElement</code></a> in which the line would be added</dd>
<dt>Returns:</dt>
<dd>boolean <code>true</code> if line should be filtered out,
<code>false</code> otherwise</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="filter(java.lang.String)">
<h3>filter</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">filter</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;text)</span></div>
<div class="block">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.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>text</code> - log line to be filtered</dd>
<dt>Returns:</dt>
<dd>String</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="reset()">
<h3>reset</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">reset</span>()</div>
<div class="block">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.</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright © 1998-2022 Apache Software Foundation. All Rights Reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>