jmeter icon indicating copy to clipboard operation
jmeter copied to clipboard

Sample time elapsed is incorrect for transactions with constant time thread delays during ramp down

Open twn opened this issue 5 months ago • 0 comments

Expected behavior

I expect that transaction sample elapsed time is the sum of child sample elapsed times excluding thread pause times which should be counted as idle time for the transaction. (Include duration of timer and pre-post processors in generated sample is set to false)

Alternatively the success flag could be set to false for the transaction.

This was working as expected in JMeter 2.9

Actual behavior

As long as the threads are not stopped the behaviour is as expected. But during ramp down or thread stop the pause times seem to be added to the transaction elapsed time, which is wrong and produces bad performance results.

Sample during normal execution:

<sample t="924" it="30012" lt="0" ts="1755001448003" s="true" lb="Transaction Controller" rc="200" rm="Number of samples in transaction : 3, number of failing samples : 0" tn="Thread Group 1-10" dt="" by="4589" sc="1" ec="0" ng="10" na="10">
  <httpSample t="230" it="0" lt="229" ts="1755001458008" s="true" lb="Dummy Request #1" rc="200" rm="OK" tn="Thread Group 1-10" dt="text" by="1521" sc="1" ec="0" ng="10" na="10">
    <java.net.URL>http://example.com/</java.net.URL>
  </httpSample>
  <httpSample t="338" it="0" lt="338" ts="1755001468243" s="true" lb="Dummy Request #2" rc="200" rm="OK" tn="Thread Group 1-10" dt="text" by="1534" sc="1" ec="0" ng="10" na="10">
    <java.net.URL>http://example.com/</java.net.URL>
  </httpSample>
  <httpSample t="356" it="0" lt="355" ts="1755001478584" s="true" lb="Dummy Request #3" rc="200" rm="OK" tn="Thread Group 1-10" dt="text" by="1534" sc="1" ec="0" ng="10" na="10">
    <java.net.URL>http://example.com/</java.net.URL>
  </httpSample>
</sample>

Sample during ramp down / thread stop:

<sample t="20707" it="0" lt="0" ts="1755001458708" s="true" lb="Transaction Controller" rc="200" rm="" tn="Thread Group 1-1" dt="" by="3068" sc="1" ec="0" ng="9" na="9">
  <httpSample t="354" it="0" lt="354" ts="1755001468710" s="true" lb="Dummy Request #1" rc="200" rm="OK" tn="Thread Group 1-1" dt="text" by="1534" sc="1" ec="0" ng="10" na="10">
    <java.net.URL>http://example.com/</java.net.URL>
  </httpSample>
  <httpSample t="346" it="0" lt="346" ts="1755001479070" s="true" lb="Dummy Request #2" rc="200" rm="OK" tn="Thread Group 1-1" dt="text" by="1534" sc="1" ec="0" ng="9" na="9">
    <java.net.URL>http://example.com/</java.net.URL>
  </httpSample>
</sample>

Steps to reproduce the problem

Execute the attached TestPlan. open the generated rampdown-requests.xml and have a look at the elasped time of the last samples.

rampDownIssue.jmx.txt

JMeter Version

5.6.3

Java Version

OpenJDK Runtime Environment Zulu17.46+19-CA (build 17.0.9+8-LTS)

OS Version

MacOS 15.6

twn avatar Aug 12 '25 12:08 twn