Author: sebb
Date: Mon Dec 14 22:52:28 2009
New Revision: 890526
URL: http://svn.apache.org/viewvc?rev=890526&view=rev
Log:
Bug 41418 - Exclude timer duration from Transaction Controller runtime in report
Modified:
jakarta/jmeter/trunk/docs/images/screenshots/transactioncontroller.png
jakarta/jmeter/trunk/src/core/org/apache/jmeter/control/TransactionController.java
jakarta/jmeter/trunk/src/core/org/apache/jmeter/control/gui/TransactionControllerGui.java
jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
jakarta/jmeter/trunk/xdocs/changes.xml
jakarta/jmeter/trunk/xdocs/images/screenshots/transactioncontroller.png
jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml
Modified: jakarta/jmeter/trunk/docs/images/screenshots/transactioncontroller.png
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/docs/images/screenshots/transactioncontroller.png?rev=890526&r1=890525&r2=890526&view=diff
==============================================================================
Binary files - no diff available.
Modified:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/control/TransactionController.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/control/TransactionController.java?rev=890526&r1=890525&r2=890526&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/core/org/apache/jmeter/control/TransactionController.java
(original)
+++
jakarta/jmeter/trunk/src/core/org/apache/jmeter/control/TransactionController.java
Mon Dec 14 22:52:28 2009
@@ -56,8 +56,20 @@
private transient int noFailingSamples;
+ /**
+ * Cumulated pause time to excluse timer and post/pre processor times
+ */
+ private transient long pauseTime;
+
+ /**
+ * Previous end time
+ */
+ private transient long prevEndTime;
+
private static final String PARENT = "TransactionController.parent";//
$NON-NLS-1$
+ private final static String INCLUDE_TIMERS =
"TransactionController.includeTimers";// $NON-NLS-1$
+
/**
* Creates a Transaction Controller
*/
@@ -152,6 +164,8 @@
// Assume success
res.setSuccessful(true);
res.sampleStart();
+ prevEndTime = res.getStartTime();//???
+ pauseTime = 0;
}
Sampler returnValue = super.next();
@@ -159,7 +173,8 @@
if (returnValue == null) // Must be the end of the controller
{
if (res != null) {
- res.sampleEnd();
+ res.setIdleTime(pauseTime+res.getIdleTime());
+ res.sampleEnd();
res.setResponseMessage("Number of samples in transaction : " +
calls + ", number of failing samples : " + noFailingSamples);
if(res.isSuccessful()) {
res.setResponseCodeOK();
@@ -196,6 +211,10 @@
SampleResult sampleResult = se.getResult();
res.setThreadName(sampleResult.getThreadName());
res.setBytes(res.getBytes() + sampleResult.getBytes());
+ if (!isIncludeTimers()) {// Accumulate waiting time for later
+ pauseTime += sampleResult.getEndTime() -
sampleResult.getTime() - prevEndTime;
+ prevEndTime = sampleResult.getEndTime();
+ }
if(!sampleResult.isSuccessful()) {
res.setSuccessful(false);
noFailingSamples++;
@@ -212,4 +231,22 @@
public void sampleStopped(SampleEvent e) {
}
+
+ /**
+ * Whether to include timers and pre/post processor time in overall sample.
+ * @param includeTimers
+ */
+ public void setIncludeTimers(boolean includeTimers) {
+ setProperty(INCLUDE_TIMERS, includeTimers, true); // default true for
compatibility
+ }
+
+ /**
+ * Whether to include timer and pre/post processor time in overall sample.
+ *
+ * @return boolean (defaults to true for backwards compatibility)
+ */
+ public boolean isIncludeTimers() {
+ return getPropertyAsBoolean(INCLUDE_TIMERS, true);
+ }
+
}
Modified:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/control/gui/TransactionControllerGui.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/control/gui/TransactionControllerGui.java?rev=890526&r1=890525&r2=890526&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/core/org/apache/jmeter/control/gui/TransactionControllerGui.java
(original)
+++
jakarta/jmeter/trunk/src/core/org/apache/jmeter/control/gui/TransactionControllerGui.java
Mon Dec 14 22:52:28 2009
@@ -32,6 +32,8 @@
public class TransactionControllerGui extends AbstractControllerGui {
private JCheckBox parent; // If selected, then generate parent sample,
otherwise as per original controller
+
+ private JCheckBox includeTimers; // if selected, add duration of timers to
total runtime
/**
* Create a new TransactionControllerGui instance.
@@ -51,12 +53,16 @@
public void configure(TestElement el) {
super.configure(el);
parent.setSelected(((TransactionController) el).isParent());
+ includeTimers.setSelected(((TransactionController)
el).isIncludeTimers());
}
/* Implements JMeterGUIComponent.modifyTestElement(TestElement) */
public void modifyTestElement(TestElement el) {
configureTestElement(el);
((TransactionController) el).setParent(parent.isSelected());
+ TransactionController tc = ((TransactionController) el);
+ tc.setParent(parent.isSelected());
+ tc.setIncludeTimers(includeTimers.isSelected());
}
public String getLabelResource() {
@@ -72,5 +78,7 @@
add(makeTitlePanel());
parent = new
JCheckBox(JMeterUtils.getResString("transaction_controller_parent")); //
$NON-NLS-1$
add(parent);
+ includeTimers = new
JCheckBox(JMeterUtils.getResString("transaction_controller_include_timers"),
true); // $NON-NLS-1$
+ add(includeTimers);
}
}
Modified:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties?rev=890526&r1=890525&r2=890526&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
(original)
+++
jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
Mon Dec 14 22:52:28 2009
@@ -853,7 +853,7 @@
tr=Turkish
transaction_controller_parent=Generate parent sample
transaction_controller_title=Transaction Controller
-transaction_controller_include_timers=Include timer duration in runtime
summary.
+transaction_controller_include_timers=Include timer duration in generated
sample
unbind=Thread Unbind
unescape_html_string=String to unescape
unescape_string=String containing Java escapes
Modified: jakarta/jmeter/trunk/xdocs/changes.xml
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=890526&r1=890525&r2=890526&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/changes.xml (original)
+++ jakarta/jmeter/trunk/xdocs/changes.xml Mon Dec 14 22:52:28 2009
@@ -140,6 +140,7 @@
<h3>Controllers</h3>
<ul>
<li>Bug 47909 - TransactionController should sum the latency</li>
+<li>Bug 41418 - Exclude timer duration from Transaction Controller runtime in
report</li>
</ul>
<h3>Listeners</h3>
Modified:
jakarta/jmeter/trunk/xdocs/images/screenshots/transactioncontroller.png
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/images/screenshots/transactioncontroller.png?rev=890526&r1=890525&r2=890526&view=diff
==============================================================================
Binary files - no diff available.
Modified: jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=890526&r1=890525&r2=890526&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
+++ jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml Mon Dec 14
22:52:28 2009
@@ -1844,7 +1844,7 @@
</properties>
</component>
-<component name="Transaction Controller" index="§-num;.2.15" width="258"
height="125" screenshot="transactioncontroller.png">
+<component name="Transaction Controller" index="§-num;.2.15" width="288"
height="155" screenshot="transactioncontroller.png">
<description>
<p>
The Transaction Controller generates an additional
@@ -1885,6 +1885,10 @@
If checked, then the sample is generated as a parent of the other
samples,
otherwise the sample is generated as an independent sample.
</property>
+ <property name="Include timer duration in generated sample"
required="Yes">
+ Whether to include timer, pre- and post-processing delays in the
generated sample.
+ Default is true to be compatible with the behaviour in previous
versions of JMeter.
+ </property>
</properties>
</component>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]