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/12/14 23:52:29 UTC
svn commit: r890526 - in /jakarta/jmeter/trunk: docs/images/screenshots/
src/core/org/apache/jmeter/control/ src/core/org/apache/jmeter/control/gui/
src/core/org/apache/jmeter/resources/ xdocs/ xdocs/images/screenshots/
xdocs/usermanual/
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: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org