The Transaction Controller can be used to simplify the Summary Report. However, when you need the runtime summary for all elements of a transaction controller, the timer durations are added. With this patch (against SVN rel-2-2 r497856) a check box is added to the Transaction Controller to exclude all timer durations from the Summary Report.
Created attachment 19435 [details] adds checkbox to Transaction Controller to exclude timer durations
Seems to be a bit missing - The method incIdleTime() is not defined for SampleResult
Created attachment 19436 [details] missing part 2 of patch above
Created attachment 20430 [details] Suggested patch This suggested patch adds a jmeter.properties option to control how the duration o f the TransactionSample is made. I do not have time to add an GUI option at the moment, and I'm guessing that a property to control the behaviour should be sufficient short term. Currently, the TransactionSample will have the start of the first subsample as it's start time, and the end of the last subsample of the transaction as it's end times. This means that the time it takes to run pre-, postprocessors, assertions and timers inside a TransactionController will be included in the duration of the transaction sample. With this patch, and the jmeter.properties option set to true, the transaction sample will report the sum of the subsamples as it's duration. This will then not include the time for pre-, postprocessors, timers and assertions.
Created attachment 20431 [details] Simple testplan to show that timer is included The attached testplan shows that both timers are included in the duration of the transaction sample. So to correct my statement above slightly : by default, the end timestamp of the transaction sample is set to the timestamp when the transaction controller figures out that there are no more subsamples to sample in the transaction, and not to the end time of the last subsample, as I said in my previous comment.
Created attachment 20819 [details] Updated patch against current svn version (2.3 r575019) This is an updated version of my patch against the current svn version 2.3 r575019
Hello, I find this enhancement very useful. Attached is the updated patch of Alf Hogemark done against current trunk. I just changed default value of "Include timer duration in runtime summary" to true to ensure ascending compatibility and commented some code. I also tested it successfully. Philippe http://www.ubik-ingenierie.com
Created attachment 24351 [details] Updated patch against trunk of 6/10/2009
I tested this feature in last load tests campaign. Found no bugs and it is really very useful. A good enhancement would be to remove TestAction times. Philippe.
I've been looking at the patch dated 2009-10-06 11:17 UTC. [Not all that easy to follow, as there are lots and lots of spurious white-space changes in the SampleResult part. Please try to submit minimum necessary changes in future.] There is one part of the patch I don't understand: TransactionController.java ... @@ -152,6 +164,8 @@ // Assume success res.setSuccessful(true); res.sampleStart(); + prevEndTime = res.getStartTime(); + pauseTime = 0; } It does not seem correct to use the StartTime as the initial value for the previous End Time. Is the patch correct - if so why? If not, what should it be?
Hello, First thanks for taking into account this patch and other ones I submitted. I am sorry for the patch with lot of spaces, you are right, it s hard to read. Now about your question, here is the concept of the patch as I understood it (originial writer is Alf Hogemark): - pauseTime cumulates time taken by all transaction timers and this is done by recording "previous end time" of a Sample. So prevEndTime is used only to compute timer(s) time between samples. pauseTime for each sample is computed by doing (sample endTime - Time taken by sample) (which would be the sample start time) - previous sample EndTime in same transaction. Do you see a pb in this ? Thanks Philippe.
Created attachment 24584 [details] Patch to trunk (22/11/2009 21h39) Cleaned up patch
Thanks for the patch; it seems to work fine. Patch committed to SVN: URL: http://svn.apache.org/viewvc?rev=890526&view=rev Log: Bug 41418 - Exclude timer duration from Transaction Controller runtime in report
Excluding timer duration does not work if the transaction controller's option "Generate parent sample" is on. See Bug 50080
This issue has been migrated to GitHub: https://github.com/apache/jmeter/issues/1851