You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by se...@apache.org on 2009/09/07 22:26:56 UTC
svn commit: r812266 - in /jakarta/jmeter/trunk: bin/jmeter.properties
src/core/org/apache/jmeter/samplers/DataStrippingSampleSender.java
src/core/org/apache/jmeter/samplers/SampleSenderFactory.java
xdocs/changes.xml xdocs/usermanual/remote-test.xml
Author: sebb
Date: Mon Sep 7 20:26:55 2009
New Revision: 812266
URL: http://svn.apache.org/viewvc?rev=812266&view=rev
Log:
Added DataStrippingSample sender - supports "Stripped" and "StrippedBatch" modes.
[code copied from branches/java1.5_prototype-was_trunk]
Added:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/DataStrippingSampleSender.java (with props)
Modified:
jakarta/jmeter/trunk/bin/jmeter.properties
jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleSenderFactory.java
jakarta/jmeter/trunk/xdocs/changes.xml
jakarta/jmeter/trunk/xdocs/usermanual/remote-test.xml
Modified: jakarta/jmeter/trunk/bin/jmeter.properties
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/bin/jmeter.properties?rev=812266&r1=812265&r2=812266&view=diff
==============================================================================
--- jakarta/jmeter/trunk/bin/jmeter.properties (original)
+++ jakarta/jmeter/trunk/bin/jmeter.properties Mon Sep 7 20:26:55 2009
@@ -474,6 +474,8 @@
#mode=Batch
#mode=Hold
#mode=Statistical
+#mode=Stripped
+#mode=StrippedBatch
#mode=org.example.load.MySampleSender
#hold_samples=true
#num_sample_threshold=100
Added: jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/DataStrippingSampleSender.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/DataStrippingSampleSender.java?rev=812266&view=auto
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/DataStrippingSampleSender.java (added)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/DataStrippingSampleSender.java Mon Sep 7 20:26:55 2009
@@ -0,0 +1,62 @@
+package org.apache.jmeter.samplers;
+
+import java.io.Serializable;
+import java.rmi.RemoteException;
+
+import org.apache.jorphan.logging.LoggingManager;
+import org.apache.log.Logger;
+
+/**
+ * The standard remote sample reporting should be more friendly to the main purpose of
+ * remote testing - which is scalability. To increase scalability, this class strips out the
+ * response data before sending.
+ *
+ *
+ */
+public class DataStrippingSampleSender implements SampleSender, Serializable {
+ private static final long serialVersionUID = 1;
+ private static final Logger log = LoggingManager.getLoggerForClass();
+
+ private final RemoteSampleListener listener;
+ private final SampleSender decoratedSender;
+
+ DataStrippingSampleSender(RemoteSampleListener listener) {
+ this.listener = listener;
+ decoratedSender = null;
+ }
+
+ DataStrippingSampleSender(SampleSender decorate)
+ {
+ this.decoratedSender = decorate;
+ this.listener = null;
+ }
+
+ public void testEnded() {
+ if(decoratedSender != null) decoratedSender.testEnded();
+ }
+
+ public void testEnded(String host) {
+ if(decoratedSender != null) decoratedSender.testEnded(host);
+ }
+
+ public void sampleOccurred(SampleEvent event) {
+ //Strip the response data before writing, but only for a successful request.
+ SampleResult result = event.getResult();
+ if(result.isSuccessful()) {
+ result.setResponseData(new byte[0]);
+ }
+ if(decoratedSender == null)
+ {
+ try {
+ listener.sampleOccurred(event);
+ } catch (RemoteException e) {
+ log.error("Error sending sample result over network ",e);
+ }
+ }
+ else
+ {
+ decoratedSender.sampleOccurred(event);
+ }
+ }
+
+}
Propchange: jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/DataStrippingSampleSender.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/DataStrippingSampleSender.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleSenderFactory.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleSenderFactory.java?rev=812266&r1=812265&r2=812266&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleSenderFactory.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleSenderFactory.java Mon Sep 7 20:26:55 2009
@@ -36,6 +36,10 @@
private static final String MODE_STATISTICAL = "Statistical"; // $NON-NLS-1$
+ private static final String MODE_STRIPPED = "Stripped"; // $NON-NLS-1$
+
+ private static final String MODE_STRIPPED_BATCH = "StrippedBatch"; // $NON-NLS-1$
+
// Support original property name
private static final boolean holdSamples = JMeterUtils.getPropDefault("hold_samples", false); // $NON-NLS-1$
@@ -62,6 +66,10 @@
} else if (type.equalsIgnoreCase(MODE_STANDARD)) {
StandardSampleSender s = new StandardSampleSender(listener);
return s;
+ } else if(type.equalsIgnoreCase(MODE_STRIPPED_BATCH)) {
+ return new DataStrippingSampleSender(new BatchSampleSender(listener));
+ } else if(type.equalsIgnoreCase(MODE_STRIPPED)){
+ return new DataStrippingSampleSender(listener);
} else {
// should be a user provided class name
SampleSender s = null;
Modified: jakarta/jmeter/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=812266&r1=812265&r2=812266&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/changes.xml (original)
+++ jakarta/jmeter/trunk/xdocs/changes.xml Mon Sep 7 20:26:55 2009
@@ -123,6 +123,7 @@
<h3>Listeners</h3>
<ul>
<li>Bug 47398 - SampleEvents are sent twice over RMI in distributed testing and non gui mode</li>
+<li>Added DataStrippingSample sender - supports "Stripped" and "StrippedBatch" modes.</li>
</ul>
<h3>Assertions, Config, Pre- & Post-Processors</h3>
Modified: jakarta/jmeter/trunk/xdocs/usermanual/remote-test.xml
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/usermanual/remote-test.xml?rev=812266&r1=812265&r2=812266&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/usermanual/remote-test.xml (original)
+++ jakarta/jmeter/trunk/xdocs/usermanual/remote-test.xml Mon Sep 7 20:26:55 2009
@@ -216,7 +216,11 @@
</ul>
Other fields that vary between samples are lost.
</li>
- <li>Custom implementation : set the mode parameter to your custom sample sender class name
+ <li>Stripped - remove responseData from succesful samples</li>
+ <li>StrippedBatch - remove responseData from succesful samples, and send as batches</li>
+ <li>Custom implementation : set the mode parameter to your custom sample sender class name.
+ This must implement the interface SampleSender and have a constructor which takes a single
+ parameter of type RemoteSampleListener.
</li>
</ul>
</ul>
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org