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>
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.