Author: sebb
Date: Sun Jul 26 19:17:22 2009
New Revision: 797975
URL: http://svn.apache.org/viewvc?rev=797975&view=rev
Log:
Bug 47398 - SampleEvents are sent twice over RMI in distributed testing and non
gui mode
Modified:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/JMeter.java
jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultCollector.java
jakarta/jmeter/trunk/xdocs/changes.xml
Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/JMeter.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/JMeter.java?rev=797975&r1=797974&r2=797975&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/JMeter.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/JMeter.java Sun Jul 26
19:17:22 2009
@@ -736,18 +736,26 @@
// For GUI runs this is done in Start.java
convertSubTree(tree);
- if (logFile != null) {
- ResultCollector logger = new ResultCollector();
- logger.setFilename(logFile);
- tree.add(tree.getArray()[0], logger);
- }
+ Summariser summer = null;
String summariserName =
JMeterUtils.getPropDefault("summariser.name", "");//$NON-NLS-1$
if (summariserName.length() > 0) {
log.info("Creating summariser <" + summariserName + ">");
println("Creating summariser <" + summariserName + ">");
- Summariser summer = new Summariser(summariserName);
- tree.add(tree.getArray()[0], summer);
+ summer = new Summariser(summariserName);
+ }
+
+ if (logFile != null) {
+ ResultCollector logger = new ResultCollector(summer);
+ logger.setFilename(logFile);
+ tree.add(tree.getArray()[0], logger);
+ }
+ else {
+ // only add Summariser if it can not be shared with the
ResultCollector
+ if (summer != null) {
+ tree.add(tree.getArray()[0], summer);
+ }
}
+
List engines = new LinkedList();
tree.add(tree.getArray()[0], new ListenToTest(parent, (remoteStart
&& remoteStop) ? engines : null));
println("Created the tree successfully using "+testFile);
Modified:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultCollector.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultCollector.java?rev=797975&r1=797974&r2=797975&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultCollector.java
(original)
+++
jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultCollector.java
Sun Jul 26 19:17:22 2009
@@ -133,14 +133,22 @@
private volatile boolean inTest = false;
private volatile boolean isStats = false;
+
+ /** the summarizer to which this result collector will forward the samples
*/
+ private Summariser summariser;
/**
* No-arg constructor.
*/
public ResultCollector() {
+ this(null);
+ }
+
+ public ResultCollector(Summariser summer) {
setErrorLogging(false);
setSuccessOnlyLogging(false);
setProperty(new ObjectProperty(SAVE_CONFIG, new
SampleSaveConfiguration()));
+ summariser = summer;
}
// Ensure that the sample save config is not shared between copied nodes
@@ -148,6 +156,8 @@
public Object clone(){
ResultCollector clone = (ResultCollector) super.clone();
clone.setSaveConfig((SampleSaveConfiguration)clone.getSaveConfig().clone());
+ // Unfortunately AbstractTestElement does not call super.clone()
+ clone.summariser = this.summariser;
return clone;
}
@@ -235,6 +245,10 @@
inTest = false;
}
}
+
+ if(summariser != null) {
+ summariser.testEnded(host);
+ }
}
public synchronized void testStarted(String host) {
@@ -250,6 +264,10 @@
}
}
inTest = true;
+
+ if(summariser != null) {
+ summariser.testStarted(host);
+ }
}
public void testEnded() {
@@ -484,6 +502,10 @@
}
}
}
+
+ if(summariser != null) {
+ summariser.sampleOccurred(event);
+ }
}
protected final void sendToVisualizer(SampleResult r) {
@@ -577,5 +599,4 @@
// can find the Clearable nodes - the userObject has to implement the
interface.
public void clearData() {
}
-
}
\ No newline at end of file
Modified: jakarta/jmeter/trunk/xdocs/changes.xml
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=797975&r1=797974&r2=797975&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/changes.xml (original)
+++ jakarta/jmeter/trunk/xdocs/changes.xml Sun Jul 26 19:17:22 2009
@@ -116,6 +116,7 @@
<h3>Listeners</h3>
<ul>
+<li>Bug 47398 - SampleEvents are sent twice over RMI in distributed testing
and non gui mode</li>
</ul>
<h3>Assertions, Config, Pre- & Post-Processors</h3>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]