jmeter-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrey Pokhilko <a...@ya.ru>
Subject Re: svn commit: r1649629 - in /jmeter/trunk: bin/ bin/testfiles/ src/components/org/apache/jmeter/visualizers/ src/core/org/apache/jmeter/control/ src/core/org/apache/jmeter/resources/ src/core/org/apache/jmeter/samplers/ src/core/org/apache/jmeter/save/ s...
Date Tue, 06 Jan 2015 08:25:25 GMT
About modifying JMXses:

As far as I understand how JMeter works, it applies the default (which
is "false") when no configuration property provided. But then when it
saves the JMX, it writes all the properties, including those with
default values.

I did change to JMXses since somewhere in the tests there is a check
that JMX must stay unchanged upon open and save. If I'm wrong and there
is some other way to make those tests passing, please tell it to me and
I'll roll back the undesired changes.

Andrey Pokhilko

On 01/06/2015 05:48 AM, sebb wrote:
> On 5 January 2015 at 19:49,  <undera@apache.org> wrote:
>> Author: undera
>> Date: Mon Jan  5 19:49:06 2015
>> New Revision: 1649629
>>
>> URL: http://svn.apache.org/r1649629
>> Log:
>> 48799 - Add connect time to output metrics
>>
>> Added:
>>     jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/MeasuringConnectionManager.java
>> Modified:
>>     jmeter/trunk/bin/jmeter.properties
>>     jmeter/trunk/bin/testfiles/AssertionTestPlan.jmx
>>     jmeter/trunk/bin/testfiles/AuthManagerTestPlan.jmx
>>     jmeter/trunk/bin/testfiles/GenTest210.jmx
>>     jmeter/trunk/bin/testfiles/GenTest27.jmx
>>     jmeter/trunk/bin/testfiles/GuiTest.jmx
>>     jmeter/trunk/bin/testfiles/GuiTest231.jmx
>>     jmeter/trunk/bin/testfiles/HeaderManagerTestPlan.jmx
>>     jmeter/trunk/bin/testfiles/InterleaveTestPlan.jmx
>>     jmeter/trunk/bin/testfiles/InterleaveTestPlan2.jmx
>>     jmeter/trunk/bin/testfiles/LoopTestPlan.jmx
>>     jmeter/trunk/bin/testfiles/OnceOnlyTestPlan.jmx
>>     jmeter/trunk/bin/testfiles/SimpleTestPlan.jmx
>>     jmeter/trunk/src/components/org/apache/jmeter/visualizers/SamplerResultTab.java
>>     jmeter/trunk/src/components/org/apache/jmeter/visualizers/TableVisualizer.java
>>     jmeter/trunk/src/core/org/apache/jmeter/control/TransactionController.java
>>     jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
>>     jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java
>>     jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleSaveConfiguration.java
>>     jmeter/trunk/src/core/org/apache/jmeter/samplers/StatisticalSampleResult.java
>>     jmeter/trunk/src/core/org/apache/jmeter/save/CSVSaveService.java
>>     jmeter/trunk/src/core/org/apache/jmeter/save/converters/SampleResultConverter.java
>>     jmeter/trunk/src/core/org/apache/jmeter/visualizers/TableSample.java
>>     jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java
>>     jmeter/trunk/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSampler.java
>>     jmeter/trunk/xdocs/changes.xml
>>     jmeter/trunk/xdocs/usermanual/glossary.xml
>>     jmeter/trunk/xdocs/usermanual/listeners.xml
>>
>> Modified: jmeter/trunk/bin/jmeter.properties
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/bin/jmeter.properties?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/bin/jmeter.properties (original)
>> +++ jmeter/trunk/bin/jmeter.properties Mon Jan  5 19:49:06 2015
>> @@ -465,6 +465,7 @@ log_level.jorphan=INFO
>>  #jmeter.save.saveservice.subresults=true
>>  #jmeter.save.saveservice.assertions=true
>>  #jmeter.save.saveservice.latency=true
>> +#jmeter.save.saveservice.connect_time=false
>>  #jmeter.save.saveservice.samplerData=false
>>  #jmeter.save.saveservice.responseHeaders=false
>>  #jmeter.save.saveservice.requestHeaders=false
>>
>> Modified: jmeter/trunk/bin/testfiles/AssertionTestPlan.jmx
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/bin/testfiles/AssertionTestPlan.jmx?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/bin/testfiles/AssertionTestPlan.jmx (original)
>> +++ jmeter/trunk/bin/testfiles/AssertionTestPlan.jmx Mon Jan  5 19:49:06 2015
> -1 to this change.
> Similarly for the other JMX files.
>
> The code needs to be set up to default to false if the tag is not present.
>
>> @@ -60,6 +60,7 @@
>>              <value class="SampleSaveConfiguration">
>>                <time>true</time>
>>                <latency>true</latency>
>> +              <connectTime>false</connectTime>
>>                <timestamp>true</timestamp>
>>                <success>true</success>
>>                <label>true</label>
>> @@ -91,6 +92,7 @@
>>              <value class="SampleSaveConfiguration">
>>                <time>true</time>
>>                <latency>true</latency>
>> +              <connectTime>false</connectTime>
>>                <timestamp>true</timestamp>
>>                <success>true</success>
>>                <label>true</label>
>>
>> Modified: jmeter/trunk/bin/testfiles/AuthManagerTestPlan.jmx
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/bin/testfiles/AuthManagerTestPlan.jmx?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/bin/testfiles/AuthManagerTestPlan.jmx (original)
>> +++ jmeter/trunk/bin/testfiles/AuthManagerTestPlan.jmx Mon Jan  5 19:49:06 2015
>> @@ -106,6 +106,7 @@
>>              <value class="SampleSaveConfiguration">
>>                <time>true</time>
>>                <latency>true</latency>
>> +              <connectTime>false</connectTime>
>>                <timestamp>true</timestamp>
>>                <success>true</success>
>>                <label>true</label>
>>
>> Modified: jmeter/trunk/bin/testfiles/GenTest210.jmx
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/bin/testfiles/GenTest210.jmx?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/bin/testfiles/GenTest210.jmx (original)
>> +++ jmeter/trunk/bin/testfiles/GenTest210.jmx Mon Jan  5 19:49:06 2015
>> @@ -970,6 +970,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1002,6 +1003,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1034,6 +1036,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1080,6 +1083,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1112,6 +1116,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1146,6 +1151,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1186,6 +1192,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1227,6 +1234,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1259,6 +1267,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1299,6 +1308,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1331,6 +1341,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1363,6 +1374,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1395,6 +1407,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1427,6 +1440,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>>
>> Modified: jmeter/trunk/bin/testfiles/GenTest27.jmx
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/bin/testfiles/GenTest27.jmx?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/bin/testfiles/GenTest27.jmx (original)
>> +++ jmeter/trunk/bin/testfiles/GenTest27.jmx Mon Jan  5 19:49:06 2015
>> @@ -942,6 +942,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -974,6 +975,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1006,6 +1008,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1052,6 +1055,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1084,6 +1088,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1118,6 +1123,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1157,6 +1163,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1198,6 +1205,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1238,6 +1246,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1270,6 +1279,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1302,6 +1312,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1334,6 +1345,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1366,6 +1378,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>>
>> Modified: jmeter/trunk/bin/testfiles/GuiTest.jmx
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/bin/testfiles/GuiTest.jmx?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/bin/testfiles/GuiTest.jmx (original)
>> +++ jmeter/trunk/bin/testfiles/GuiTest.jmx Mon Jan  5 19:49:06 2015
>> @@ -189,6 +189,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -220,6 +221,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -251,6 +253,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -282,6 +285,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -313,6 +317,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -344,6 +349,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -375,6 +381,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>>
>> Modified: jmeter/trunk/bin/testfiles/GuiTest231.jmx
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/bin/testfiles/GuiTest231.jmx?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/bin/testfiles/GuiTest231.jmx (original)
>> +++ jmeter/trunk/bin/testfiles/GuiTest231.jmx Mon Jan  5 19:49:06 2015
>> @@ -787,6 +787,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -825,6 +826,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -857,6 +859,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -889,6 +892,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -930,6 +934,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -962,6 +967,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -994,6 +1000,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1026,6 +1033,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1058,6 +1066,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1090,6 +1099,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1122,6 +1132,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>> @@ -1154,6 +1165,7 @@
>>                <value class="SampleSaveConfiguration">
>>                  <time>true</time>
>>                  <latency>true</latency>
>> +                <connectTime>false</connectTime>
>>                  <timestamp>true</timestamp>
>>                  <success>true</success>
>>                  <label>true</label>
>>
>> Modified: jmeter/trunk/bin/testfiles/HeaderManagerTestPlan.jmx
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/bin/testfiles/HeaderManagerTestPlan.jmx?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/bin/testfiles/HeaderManagerTestPlan.jmx (original)
>> +++ jmeter/trunk/bin/testfiles/HeaderManagerTestPlan.jmx Mon Jan  5 19:49:06 2015
>> @@ -59,6 +59,7 @@
>>              <value class="SampleSaveConfiguration">
>>                <time>true</time>
>>                <latency>true</latency>
>> +              <connectTime>false</connectTime>
>>                <timestamp>true</timestamp>
>>                <success>true</success>
>>                <label>true</label>
>>
>> Modified: jmeter/trunk/bin/testfiles/InterleaveTestPlan.jmx
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/bin/testfiles/InterleaveTestPlan.jmx?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/bin/testfiles/InterleaveTestPlan.jmx (original)
>> +++ jmeter/trunk/bin/testfiles/InterleaveTestPlan.jmx Mon Jan  5 19:49:06 2015
>> @@ -99,6 +99,7 @@
>>              <value class="SampleSaveConfiguration">
>>                <time>true</time>
>>                <latency>true</latency>
>> +              <connectTime>false</connectTime>
>>                <timestamp>true</timestamp>
>>                <success>true</success>
>>                <label>true</label>
>>
>> Modified: jmeter/trunk/bin/testfiles/InterleaveTestPlan2.jmx
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/bin/testfiles/InterleaveTestPlan2.jmx?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/bin/testfiles/InterleaveTestPlan2.jmx (original)
>> +++ jmeter/trunk/bin/testfiles/InterleaveTestPlan2.jmx Mon Jan  5 19:49:06 2015
>> @@ -126,6 +126,7 @@
>>              <value class="SampleSaveConfiguration">
>>                <time>true</time>
>>                <latency>true</latency>
>> +              <connectTime>false</connectTime>
>>                <timestamp>true</timestamp>
>>                <success>true</success>
>>                <label>true</label>
>>
>> Modified: jmeter/trunk/bin/testfiles/LoopTestPlan.jmx
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/bin/testfiles/LoopTestPlan.jmx?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/bin/testfiles/LoopTestPlan.jmx (original)
>> +++ jmeter/trunk/bin/testfiles/LoopTestPlan.jmx Mon Jan  5 19:49:06 2015
>> @@ -83,6 +83,7 @@
>>              <value class="SampleSaveConfiguration">
>>                <time>true</time>
>>                <latency>true</latency>
>> +              <connectTime>false</connectTime>
>>                <timestamp>true</timestamp>
>>                <success>true</success>
>>                <label>true</label>
>>
>> Modified: jmeter/trunk/bin/testfiles/OnceOnlyTestPlan.jmx
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/bin/testfiles/OnceOnlyTestPlan.jmx?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/bin/testfiles/OnceOnlyTestPlan.jmx (original)
>> +++ jmeter/trunk/bin/testfiles/OnceOnlyTestPlan.jmx Mon Jan  5 19:49:06 2015
>> @@ -80,6 +80,7 @@
>>              <value class="SampleSaveConfiguration">
>>                <time>true</time>
>>                <latency>true</latency>
>> +              <connectTime>false</connectTime>
>>                <timestamp>true</timestamp>
>>                <success>true</success>
>>                <label>true</label>
>>
>> Modified: jmeter/trunk/bin/testfiles/SimpleTestPlan.jmx
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/bin/testfiles/SimpleTestPlan.jmx?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/bin/testfiles/SimpleTestPlan.jmx (original)
>> +++ jmeter/trunk/bin/testfiles/SimpleTestPlan.jmx Mon Jan  5 19:49:06 2015
>> @@ -117,6 +117,7 @@
>>              <value class="SampleSaveConfiguration">
>>                <time>true</time>
>>                <latency>true</latency>
>> +              <connectTime>false</connectTime>
>>                <timestamp>true</timestamp>
>>                <success>true</success>
>>                <label>true</label>
>>
>> Modified: jmeter/trunk/src/components/org/apache/jmeter/visualizers/SamplerResultTab.java
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/visualizers/SamplerResultTab.java?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/src/components/org/apache/jmeter/visualizers/SamplerResultTab.java (original)
>> +++ jmeter/trunk/src/components/org/apache/jmeter/visualizers/SamplerResultTab.java Mon Jan  5 19:49:06 2015
>> @@ -229,6 +229,7 @@ public abstract class SamplerResultTab i
>>                  String startTime = dateFormat.format(new Date(sampleResult.getStartTime()));
>>                  statsBuff.append(JMeterUtils.getResString("view_results_sample_start")).append(startTime).append(NL); //$NON-NLS-1$
>>                  statsBuff.append(JMeterUtils.getResString("view_results_load_time")).append(sampleResult.getTime()).append(NL); //$NON-NLS-1$
>> +                statsBuff.append(JMeterUtils.getResString("view_results_connect_time")).append(sampleResult.getConnectTime()).append(NL); //$NON-NLS-1$
>>                  statsBuff.append(JMeterUtils.getResString("view_results_latency")).append(sampleResult.getLatency()).append(NL); //$NON-NLS-1$
>>                  statsBuff.append(JMeterUtils.getResString("view_results_size_in_bytes")).append(sampleResult.getBytes()).append(NL); //$NON-NLS-1$
>>                  statsBuff.append(JMeterUtils.getResString("view_results_size_headers_in_bytes")).append(sampleResult.getHeadersSize()).append(NL); //$NON-NLS-1$
>>
>> Modified: jmeter/trunk/src/components/org/apache/jmeter/visualizers/TableVisualizer.java
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/visualizers/TableVisualizer.java?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/src/components/org/apache/jmeter/visualizers/TableVisualizer.java (original)
>> +++ jmeter/trunk/src/components/org/apache/jmeter/visualizers/TableVisualizer.java Mon Jan  5 19:49:06 2015
>> @@ -81,7 +81,8 @@ public class TableVisualizer extends Abs
>>              "table_visualizer_sample_time", // $NON-NLS-1$
>>              "table_visualizer_status",      // $NON-NLS-1$
>>              "table_visualizer_bytes",       // $NON-NLS-1$
>> -            "table_visualizer_latency"};    // $NON-NLS-1$
>> +            "table_visualizer_latency",     // $NON-NLS-1$
>> +            "table_visualizer_connect"};    // $NON-NLS-1$
>>
>>      private ObjectTableModel model = null;
>>
>> @@ -125,18 +126,19 @@ public class TableVisualizer extends Abs
>>          model = new ObjectTableModel(COLUMNS,
>>                  TableSample.class,         // The object used for each row
>>                  new Functor[] {
>> -                new Functor("getSampleNumberString"), // $NON-NLS-1$
>> -                new Functor("getStartTimeFormatted",  // $NON-NLS-1$
>> +                new Functor("getSampleNumberString"),  // $NON-NLS-1$
>> +                new Functor("getStartTimeFormatted",   // $NON-NLS-1$
>>                          new Object[]{format}),
>> -                new Functor("getThreadName"), // $NON-NLS-1$
>> -                new Functor("getLabel"), // $NON-NLS-1$
>> -                new Functor("getElapsed"), // $NON-NLS-1$
>> +                new Functor("getThreadName"),          // $NON-NLS-1$
>> +                new Functor("getLabel"),               // $NON-NLS-1$
>> +                new Functor("getElapsed"),             // $NON-NLS-1$
>>                  new SampleSuccessFunctor("isSuccess"), // $NON-NLS-1$
>> -                new Functor("getBytes"), // $NON-NLS-1$
>> -                new Functor("getLatency") }, // $NON-NLS-1$
>> -                new Functor[] { null, null, null, null, null, null, null, null },
>> +                new Functor("getBytes"),               // $NON-NLS-1$
>> +                new Functor("getLatency"),             // $NON-NLS-1$
>> +                new Functor("getConnectTime") },       // $NON-NLS-1$
>> +                new Functor[] { null, null, null, null, null, null, null, null, null },
>>                  new Class[] {
>> -                String.class, String.class, String.class, String.class, Long.class, ImageIcon.class, Long.class, Long.class });
>> +                String.class, String.class, String.class, String.class, Long.class, ImageIcon.class, Long.class, Long.class, Long.class });
>>          init();
>>      }
>>
>> @@ -188,7 +190,9 @@ public class TableVisualizer extends Abs
>>                              res.getTime(),
>>                              res.isSuccessful(),
>>                              res.getBytes(),
>> -                            res.getLatency());
>> +                            res.getLatency(),
>> +                            res.getConnectTime()
>> +                            );
>>                      model.addRow(newS);
>>                  }
>>                  updateTextFields(res);
>>
>> Modified: jmeter/trunk/src/core/org/apache/jmeter/control/TransactionController.java
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/control/TransactionController.java?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/src/core/org/apache/jmeter/control/TransactionController.java (original)
>> +++ jmeter/trunk/src/core/org/apache/jmeter/control/TransactionController.java Mon Jan  5 19:49:06 2015
>> @@ -291,6 +291,7 @@ public class TransactionController exten
>>                  res.setAllThreads(sampleResult.getAllThreads());
>>                  res.setGroupThreads(sampleResult.getGroupThreads());
>>                  res.setLatency(res.getLatency() + sampleResult.getLatency());
>> +                res.setConnectTime(res.getConnectTime() + sampleResult.getConnectTime());
>>              }
>>          }
>>      }
>>
>> Modified: jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties (original)
>> +++ jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties Mon Jan  5 19:49:06 2015
>> @@ -906,6 +906,7 @@ save_hostname=Save Hostname
>>  save_idletime=Save Idle Time
>>  save_label=Save Label
>>  save_latency=Save Latency
>> +save_connecttime=Save Connect Time
>>  save_message=Save Response Message
>>  save_overwrite_existing_file=The selected file already exists, do you want to overwrite it?
>>  save_requestheaders=Save Request Headers (XML)
>> @@ -1072,6 +1073,7 @@ system_sampler_stdout=Standard output (s
>>  system_sampler_title=OS Process Sampler
>>  table_visualizer_bytes=Bytes
>>  table_visualizer_latency=Latency
>> +table_visualizer_connect=Connect
>>  table_visualizer_sample_num=Sample #
>>  table_visualizer_sample_time=Sample Time(ms)
>>  table_visualizer_start_time=Start Time
>> @@ -1196,6 +1198,7 @@ view_results_error_count=Error Count:
>>  view_results_fields=fields:
>>  view_results_in_table=View Results in Table
>>  view_results_latency=Latency:
>> +view_results_connect_time=Connect Time:
>>  view_results_load_time=Load time:
>>  view_results_render=Render:
>>  view_results_render_document=Document
>>
>> Modified: jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java (original)
>> +++ jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java Mon Jan  5 19:49:06 2015
>> @@ -178,7 +178,12 @@ public class SampleResult implements Ser
>>
>>      /** time to first response */
>>      private long latency = 0;
>> -
>> +
>> +    /**
>> +     * time to end connecting
>> +     */
>> +    private long connectTime = 0;
>> +
>>      /** Should thread start next iteration ? */
>>      private boolean startNextThreadLoop = false;
>>
>> @@ -301,6 +306,7 @@ public class SampleResult implements Ser
>>          isMonitor = res.isMonitor;
>>          label = res.label;//OK
>>          latency = res.latency;
>> +        connectTime = res.connectTime;
>>          location = res.location;//OK
>>          parent = res.parent; // TODO ??
>>          pauseTime = res.pauseTime;
>> @@ -1207,6 +1213,29 @@ public class SampleResult implements Ser
>>      }
>>
>>      /**
>> +     * @return Returns the connect time.
>> +     */
>> +    public long getConnectTime() {
>> +        return connectTime;
>> +    }
>> +
>> +    /**
>> +     * Set the time to the end of connecting
>> +     */
>> +    public void connectEnd() {
>> +        connectTime = currentTimeInMillis() - startTime - idleTime;
>> +    }
>> +
>> +    /**
>> +     * This is only intended for use by SampleResultConverter!
>> +     *
>> +     * @param time The connect time to set.
>> +     */
>> +    public void setConnectTime(long time) {
>> +        this.connectTime = time;
>> +    }
>> +
>> +    /**
>>       * This is only intended for use by SampleResultConverter!
>>       *
>>       * @param timeStamp
>>
>> Modified: jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleSaveConfiguration.java
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleSaveConfiguration.java?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleSaveConfiguration.java (original)
>> +++ jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleSaveConfiguration.java Mon Jan  5 19:49:06 2015
>> @@ -198,6 +198,7 @@ public class SampleSaveConfiguration imp
>>      private static final String SUBRESULTS_PROP      = "jmeter.save.saveservice.subresults"; // $NON_NLS-1$
>>      private static final String ASSERTIONS_PROP      = "jmeter.save.saveservice.assertions"; // $NON_NLS-1$
>>      private static final String LATENCY_PROP         = "jmeter.save.saveservice.latency"; // $NON_NLS-1$
>> +    private static final String CONNECT_TIME_PROP    = "jmeter.save.saveservice.connect_time"; // $NON_NLS-1$
>>      private static final String SAMPLERDATA_PROP     = "jmeter.save.saveservice.samplerData"; // $NON_NLS-1$
>>      private static final String RESPONSEHEADERS_PROP = "jmeter.save.saveservice.responseHeaders"; // $NON_NLS-1$
>>      private static final String REQUESTHEADERS_PROP  = "jmeter.save.saveservice.requestHeaders"; // $NON_NLS-1$
>> @@ -216,7 +217,7 @@ public class SampleSaveConfiguration imp
>>      // N.B. Remember to update the equals and hashCode methods when adding new variables.
>>
>>      // Initialise values from properties
>> -    private boolean time = _time, latency = _latency, timestamp = _timestamp, success = _success, label = _label,
>> +    private boolean time = _time, latency = _latency, connectTime=_connectTime, timestamp = _timestamp, success = _success, label = _label,
>>              code = _code, message = _message, threadName = _threadName, dataType = _dataType, encoding = _encoding,
>>              assertions = _assertions, subresults = _subresults, responseData = _responseData,
>>              samplerData = _samplerData, xml = _xml, fieldNames = _fieldNames, responseHeaders = _responseHeaders,
>> @@ -250,7 +251,7 @@ public class SampleSaveConfiguration imp
>>
>>      // Defaults from properties:
>>      private static final boolean _time, _timestamp, _success, _label, _code, _message, _threadName, _xml,
>> -            _responseData, _dataType, _encoding, _assertions, _latency, _subresults, _samplerData, _fieldNames,
>> +            _responseData, _dataType, _encoding, _assertions, _latency, _connectTime, _subresults, _samplerData, _fieldNames,
>>              _responseHeaders, _requestHeaders;
>>
>>      private static final boolean _responseDataOnError;
>> @@ -303,6 +304,7 @@ public class SampleSaveConfiguration imp
>>          _subresults      = TRUE.equalsIgnoreCase(props.getProperty(SUBRESULTS_PROP, TRUE));
>>          _assertions      = TRUE.equalsIgnoreCase(props.getProperty(ASSERTIONS_PROP, TRUE));
>>          _latency         = TRUE.equalsIgnoreCase(props.getProperty(LATENCY_PROP, TRUE));
>> +        _connectTime     = TRUE.equalsIgnoreCase(props.getProperty(CONNECT_TIME_PROP, FALSE));
>>          _samplerData     = TRUE.equalsIgnoreCase(props.getProperty(SAMPLERDATA_PROP, FALSE));
>>          _responseHeaders = TRUE.equalsIgnoreCase(props.getProperty(RESPONSEHEADERS_PROP, FALSE));
>>          _requestHeaders  = TRUE.equalsIgnoreCase(props.getProperty(REQUESTHEADERS_PROP, FALSE));
>> @@ -441,6 +443,7 @@ public class SampleSaveConfiguration imp
>>          hostname = value;
>>          label = value;
>>          latency = value;
>> +        connectTime = value;
>>          message = value;
>>          printMilliseconds = _printMilliseconds;//is derived from properties only
>>          requestHeaders = value;
>> @@ -491,6 +494,7 @@ public class SampleSaveConfiguration imp
>>          SampleSaveConfiguration s = (SampleSaveConfiguration)obj;
>>          boolean primitiveValues = s.time == time &&
>>              s.latency == latency &&
>> +            s.connectTime == connectTime &&
>>              s.timestamp == timestamp &&
>>              s.success == success &&
>>              s.label == label &&
>> @@ -536,6 +540,7 @@ public class SampleSaveConfiguration imp
>>          int hash = 7;
>>          hash = 31 * hash + (time ? 1 : 0);
>>          hash = 31 * hash + (latency ? 1 : 0);
>> +        hash = 31 * hash + (connectTime ? 1 : 0);
>>          hash = 31 * hash + (timestamp ? 1 : 0);
>>          hash = 31 * hash + (success ? 1 : 0);
>>          hash = 31 * hash + (label ? 1 : 0);
>> @@ -635,6 +640,14 @@ public class SampleSaveConfiguration imp
>>          this.latency = latency;
>>      }
>>
>> +    public boolean saveConnectTime() {
>> +        return connectTime;
>> +    }
>> +
>> +    public void setConnectTime(boolean connectTime) {
>> +        this.connectTime = connectTime;
>> +    }
>> +
>>      public boolean saveMessage() {
>>          return message;
>>      }
>>
>> Modified: jmeter/trunk/src/core/org/apache/jmeter/samplers/StatisticalSampleResult.java
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/samplers/StatisticalSampleResult.java?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/src/core/org/apache/jmeter/samplers/StatisticalSampleResult.java (original)
>> +++ jmeter/trunk/src/core/org/apache/jmeter/samplers/StatisticalSampleResult.java Mon Jan  5 19:49:06 2015
>> @@ -101,6 +101,7 @@ public class StatisticalSampleResult ext
>>          this.setEndTime(Math.max(getEndTime(), res.getEndTime()));
>>
>>          setLatency(getLatency()+ res.getLatency());
>> +        setConnectTime(getConnectTime()+ res.getConnectTime());
>>
>>          elapsed += res.getTime();
>>      }
>>
>> Modified: jmeter/trunk/src/core/org/apache/jmeter/save/CSVSaveService.java
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/save/CSVSaveService.java?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/src/core/org/apache/jmeter/save/CSVSaveService.java (original)
>> +++ jmeter/trunk/src/core/org/apache/jmeter/save/CSVSaveService.java Mon Jan  5 19:49:06 2015
>> @@ -87,6 +87,7 @@ public final class CSVSaveService {
>>      private static final String CSV_URL = "URL"; // $NON-NLS-1$
>>      private static final String CSV_FILENAME = "Filename"; // $NON-NLS-1$
>>      private static final String CSV_LATENCY = "Latency"; // $NON-NLS-1$
>> +    private static final String CSV_CONNECT_TIME = "Connect"; // $NON-NLS-1$
>>      private static final String CSV_ENCODING = "Encoding"; // $NON-NLS-1$
>>      private static final String CSV_HOSTNAME = "Hostname"; // $NON-NLS-1$
>>      private static final String CSV_IDLETIME = "IdleTime"; // $NON-NLS-1$
>> @@ -350,6 +351,11 @@ public final class CSVSaveService {
>>                  text = parts[i++];
>>                  result.setIdleTime(Long.parseLong(text));
>>              }
>> +            if (saveConfig.saveConnectTime()) {
>> +                field = CSV_CONNECT_TIME;
>> +                text = parts[i++];
>> +                result.setConnectTime(Long.parseLong(text));
>> +            }
>>
>>              if (i + saveConfig.getVarCount() < parts.length) {
>>                  log.warn("Line: " + lineNumber + ". Found " + parts.length
>> @@ -488,6 +494,11 @@ public final class CSVSaveService {
>>              text.append(delim);
>>          }
>>
>> +        if (saveConfig.saveConnectTime()) {
>> +            text.append(CSV_CONNECT_TIME);
>> +            text.append(delim);
>> +        }
>> +
>>          for (int i = 0; i < SampleEvent.getVarCount(); i++) {
>>              text.append(VARIABLE_NAME_QUOTE_CHAR);
>>              text.append(SampleEvent.getVarName(i));
>> @@ -541,6 +552,7 @@ public final class CSVSaveService {
>>          headerLabelMethods.put(CSV_ERROR_COUNT, new Functor("setSampleCount"));
>>          headerLabelMethods.put(CSV_HOSTNAME, new Functor("setHostname"));
>>          headerLabelMethods.put(CSV_IDLETIME, new Functor("setIdleTime"));
>> +        headerLabelMethods.put(CSV_CONNECT_TIME, new Functor("setConnectTime"));
>>      }
>>
>>      /**
>> @@ -951,6 +963,10 @@ public final class CSVSaveService {
>>              text.append(event.getResult().getIdleTime());
>>          }
>>
>> +        if (saveConfig.saveConnectTime()) {
>> +            text.append(sample.getConnectTime());
>> +        }
>> +
>>          for (int i = 0; i < SampleEvent.getVarCount(); i++) {
>>              text.append(event.getVarValue(i));
>>          }
>>
>> Modified: jmeter/trunk/src/core/org/apache/jmeter/save/converters/SampleResultConverter.java
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/save/converters/SampleResultConverter.java?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/src/core/org/apache/jmeter/save/converters/SampleResultConverter.java (original)
>> +++ jmeter/trunk/src/core/org/apache/jmeter/save/converters/SampleResultConverter.java Mon Jan  5 19:49:06 2015
>> @@ -77,6 +77,7 @@ public class SampleResultConverter exten
>>      private static final String ATT_HOSTNAME          = "hn"; //$NON-NLS-1$
>>      private static final String ATT_LABEL             = "lb"; //$NON-NLS-1$
>>      private static final String ATT_LATENCY           = "lt"; //$NON-NLS-1$
>> +    private static final String ATT_CONNECT_TIME      = "ct"; //$NON-NLS-1$
>>
>>      private static final String ATT_ALL_THRDS         = "na"; //$NON-NLS-1$
>>      private static final String ATT_GRP_THRDS         = "ng"; //$NON-NLS-1$
>> @@ -291,6 +292,9 @@ public class SampleResultConverter exten
>>          if (save.saveLatency()) {
>>              writer.addAttribute(ATT_LATENCY, Long.toString(res.getLatency()));
>>          }
>> +        if (save.saveConnectTime()) {
>> +            writer.addAttribute(ATT_CONNECT_TIME, Long.toString(res.getConnectTime()));
>> +        }
>>          if (save.saveTimestamp()) {
>>              writer.addAttribute(ATT_TIME_STAMP, Long.toString(res.getTimeStamp()));
>>          }
>> @@ -441,6 +445,7 @@ public class SampleResultConverter exten
>>                  Converter.getLong(reader.getAttribute(ATT_TIME)));
>>          res.setIdleTime(Converter.getLong(reader.getAttribute(ATT_IDLETIME)));
>>          res.setLatency(Converter.getLong(reader.getAttribute(ATT_LATENCY)));
>> +        res.setConnectTime(Converter.getLong(reader.getAttribute(ATT_CONNECT_TIME)));
>>          res.setBytes(Converter.getInt(reader.getAttribute(ATT_BYTES)));
>>          res.setSampleCount(Converter.getInt(reader.getAttribute(ATT_SAMPLE_COUNT),1)); // default is 1
>>          res.setErrorCount(Converter.getInt(reader.getAttribute(ATT_ERROR_COUNT),0)); // default is 0
>>
>> Modified: jmeter/trunk/src/core/org/apache/jmeter/visualizers/TableSample.java
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/visualizers/TableSample.java?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/src/core/org/apache/jmeter/visualizers/TableSample.java (original)
>> +++ jmeter/trunk/src/core/org/apache/jmeter/visualizers/TableSample.java Mon Jan  5 19:49:06 2015
>> @@ -46,17 +46,19 @@ public class TableSample implements Seri
>>
>>      private final long latency;
>>
>> +    private final long connect;
>> +
>>      /**
>>       * @deprecated for unit test code only
>>       */
>>      @Deprecated
>>      public TableSample() {
>> -        this(0, 1, 0, "", "", 0, true, 0, 0);
>> +        this(0, 1, 0, "", "", 0, true, 0, 0, 0);
>>      }
>>
>>      public TableSample(long totalSamples, int sampleCount, long startTime, String threadName,
>>              String label,
>> -            long elapsed, boolean success, long bytes, long latency) {
>> +            long elapsed, boolean success, long bytes, long latency, long connect) {
>>          this.totalSamples = totalSamples;
>>          this.sampleCount = sampleCount;
>>          this.startTime = startTime;
>> @@ -67,6 +69,7 @@ public class TableSample implements Seri
>>          this.bytes =  (sampleCount > 0) ? bytes/sampleCount : 0;
>>          this.success = success;
>>          this.latency = latency;
>> +        this.connect = connect;
>>      }
>>
>>      // The following getters may appear not to be used - however they are invoked via the Functor class
>> @@ -142,4 +145,10 @@ public class TableSample implements Seri
>>          return latency;
>>      }
>>
>> +    /**
>> +     * @return the conneect time
>> +     */
>> +    public long getConnectTime() {
>> +        return connect;
>> +    }
>>  }
>>
>> Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java (original)
>> +++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java Mon Jan  5 19:49:06 2015
>> @@ -73,6 +73,7 @@ import org.apache.http.client.methods.Ht
>>  import org.apache.http.client.params.ClientPNames;
>>  import org.apache.http.client.params.CookiePolicy;
>>  import org.apache.http.client.protocol.ResponseContentEncoding;
>> +import org.apache.http.conn.ClientConnectionManager;
>>  import org.apache.http.conn.ConnectionKeepAliveStrategy;
>>  import org.apache.http.conn.DnsResolver;
>>  import org.apache.http.conn.params.ConnRoutePNames;
>> @@ -90,7 +91,6 @@ import org.apache.http.impl.client.Abstr
>>  import org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy;
>>  import org.apache.http.impl.client.DefaultHttpClient;
>>  import org.apache.http.impl.client.DefaultHttpRequestRetryHandler;
>> -import org.apache.http.impl.conn.PoolingClientConnectionManager;
>>  import org.apache.http.impl.conn.SchemeRegistryFactory;
>>  import org.apache.http.impl.conn.SystemDefaultDnsResolver;
>>  import org.apache.http.message.BasicNameValuePair;
>> @@ -123,6 +123,7 @@ import org.apache.jmeter.util.JsseSSLMan
>>  import org.apache.jmeter.util.SSLManager;
>>  import org.apache.jorphan.logging.LoggingManager;
>>  import org.apache.log.Logger;
>> +import org.htmlparser.http.ConnectionManager;
>>
>>  /**
>>   * HTTP Sampler using Apache HttpClient 4.x.
>> @@ -654,10 +655,9 @@ public class HTTPHC4Impl extends HTTPHCA
>>              if (resolver == null) {
>>                  resolver = new SystemDefaultDnsResolver();
>>              }
>> -            PoolingClientConnectionManager poolingClientConnectionManager = new PoolingClientConnectionManager(
>> -                    SchemeRegistryFactory.createDefault(), resolver);
>> +            ClientConnectionManager connManager = new MeasuringConnectionManager(SchemeRegistryFactory.createDefault(), resolver);
>>
>> -            httpClient = new DefaultHttpClient(poolingClientConnectionManager, clientParams) {
>> +            httpClient = new DefaultHttpClient(connManager, clientParams) {
>>                  @Override
>>                  protected HttpRequestRetryHandler createHttpRequestRetryHandler() {
>>                      return new DefaultHttpRequestRetryHandler(RETRY_COUNT, false); // set retry count
>>
>> Added: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/MeasuringConnectionManager.java
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/MeasuringConnectionManager.java?rev=1649629&view=auto
>> ==============================================================================
>> --- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/MeasuringConnectionManager.java (added)
>> +++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/MeasuringConnectionManager.java Mon Jan  5 19:49:06 2015
>> @@ -0,0 +1,268 @@
>> +/*
>> + * Licensed to the Apache Software Foundation (ASF) under one or more
>> + * contributor license agreements.  See the NOTICE file distributed with
>> + * this work for additional information regarding copyright ownership.
>> + * The ASF licenses this file to You under the Apache License, Version 2.0
>> + * (the "License"); you may not use this file except in compliance with
>> + * the License.  You may obtain a copy of the License at
>> + *
>> + *   http://www.apache.org/licenses/LICENSE-2.0
>> + *
>> + * Unless required by applicable law or agreed to in writing, software
>> + * distributed under the License is distributed on an "AS IS" BASIS,
>> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
>> + * See the License for the specific language governing permissions and
>> + * limitations under the License.
>> + *
>> + */
>> +
>> +package org.apache.jmeter.protocol.http.sampler;
>> +
>> +import org.apache.http.HttpConnectionMetrics;
>> +import org.apache.http.HttpException;
>> +import org.apache.http.HttpHost;
>> +import org.apache.http.HttpResponse;
>> +import org.apache.http.HttpRequest;
>> +import org.apache.http.HttpEntityEnclosingRequest;
>> +import org.apache.http.conn.ClientConnectionRequest;
>> +import org.apache.http.conn.ConnectionPoolTimeoutException;
>> +import org.apache.http.conn.DnsResolver;
>> +import org.apache.http.conn.ManagedClientConnection;
>> +import org.apache.http.conn.routing.HttpRoute;
>> +import org.apache.http.conn.scheme.SchemeRegistry;
>> +import org.apache.http.impl.conn.PoolingClientConnectionManager;
>> +import org.apache.http.params.HttpParams;
>> +import org.apache.http.protocol.HttpContext;
>> +import org.apache.jmeter.samplers.SampleResult;
>> +
>> +import javax.net.ssl.SSLSession;
>> +import java.io.IOException;
>> +import java.net.InetAddress;
>> +import java.util.concurrent.TimeUnit;
>> +
>> +/**
>> + * Adapter for {@link PoolingClientConnectionManager}
>> + * that wraps all connection requests into time-measured implementation {@link MeasuringConnectionRequest}
>> + */
>> +public class MeasuringConnectionManager extends PoolingClientConnectionManager {
>> +
>> +    private MeasuringConnectionRequest measuredConnection;
>> +    private SampleResult sample;
>> +
>> +    public MeasuringConnectionManager(SchemeRegistry aDefault, DnsResolver resolver) {
>> +        super(aDefault, resolver);
>> +    }
>> +
>> +    @Override
>> +    public ClientConnectionRequest requestConnection(final HttpRoute route, final Object state) {
>> +        ClientConnectionRequest res = super.requestConnection(route, state);
>> +        this.measuredConnection = new MeasuringConnectionRequest(res, this.sample);
>> +        return this.measuredConnection;
>> +    }
>> +
>> +    public void setSample(SampleResult sample) {
>> +        this.sample = sample;
>> +    }
>> +
>> +    /**
>> +     * And adapter class to pass {@link SampleResult} into {@link MeasuredConnection}
>> +     */
>> +    private static class MeasuringConnectionRequest implements ClientConnectionRequest {
>> +        private final ClientConnectionRequest handler;
>> +        private final SampleResult sample;
>> +
>> +        public MeasuringConnectionRequest(ClientConnectionRequest res, SampleResult sample) {
>> +            handler = res;
>> +            this.sample = sample;
>> +        }
>> +
>> +        @Override
>> +        public ManagedClientConnection getConnection(long timeout, TimeUnit tunit) throws InterruptedException, ConnectionPoolTimeoutException {
>> +            ManagedClientConnection res = handler.getConnection(timeout, tunit);
>> +            return new MeasuredConnection(res, this.sample);
>> +        }
>> +
>> +        @Override
>> +        public void abortRequest() {
>> +            handler.abortRequest();
>> +        }
>> +    }
>> +
>> +    /**
>> +     * An adapter for {@link ManagedClientConnection}
>> +     * that calls SampleResult.connectEnd after calling ManagedClientConnection.open
>> +     */
>> +    private static class MeasuredConnection implements ManagedClientConnection {
>> +        private final ManagedClientConnection handler;
>> +        private final SampleResult sample;
>> +
>> +        public MeasuredConnection(ManagedClientConnection res, SampleResult sample) {
>> +            handler = res;
>> +            this.sample = sample;
>> +        }
>> +
>> +        @Override
>> +        public void open(HttpRoute route, HttpContext context, HttpParams params) throws IOException {
>> +            handler.open(route, context, params);
>> +            if (sample != null) {
>> +                sample.connectEnd();
>> +            }
>> +        }
>> +
>> +        // ================= all following methods just wraps handler's =================
>> +        @Override
>> +        public boolean isSecure() {
>> +            return handler.isSecure();
>> +        }
>> +
>> +        @Override
>> +        public HttpRoute getRoute() {
>> +            return handler.getRoute();
>> +        }
>> +
>> +        @Override
>> +        public SSLSession getSSLSession() {
>> +            return handler.getSSLSession();
>> +        }
>> +
>> +        @Override
>> +        public void tunnelTarget(boolean secure, HttpParams params) throws IOException {
>> +            handler.tunnelTarget(secure, params);
>> +        }
>> +
>> +        @Override
>> +        public void tunnelProxy(HttpHost next, boolean secure, HttpParams params) throws IOException {
>> +            handler.tunnelProxy(next, secure, params);
>> +        }
>> +
>> +        @Override
>> +        public void layerProtocol(HttpContext context, HttpParams params) throws IOException {
>> +            handler.layerProtocol(context, params);
>> +        }
>> +
>> +        @Override
>> +        public void markReusable() {
>> +            handler.markReusable();
>> +        }
>> +
>> +        @Override
>> +        public void unmarkReusable() {
>> +            handler.unmarkReusable();
>> +        }
>> +
>> +        @Override
>> +        public boolean isMarkedReusable() {
>> +            return handler.isMarkedReusable();
>> +        }
>> +
>> +        @Override
>> +        public void setState(Object state) {
>> +            handler.setState(state);
>> +        }
>> +
>> +        @Override
>> +        public Object getState() {
>> +            return handler.getState();
>> +        }
>> +
>> +        @Override
>> +        public void setIdleDuration(long duration, TimeUnit unit) {
>> +            handler.setIdleDuration(duration, unit);
>> +        }
>> +
>> +        @Override
>> +        public void releaseConnection() throws IOException {
>> +            handler.releaseConnection();
>> +        }
>> +
>> +        @Override
>> +        public void abortConnection() throws IOException {
>> +            handler.abortConnection();
>> +        }
>> +
>> +        @Override
>> +        public boolean isResponseAvailable(int timeout) throws IOException {
>> +            return handler.isResponseAvailable(timeout);
>> +        }
>> +
>> +        @Override
>> +        public void sendRequestHeader(HttpRequest request) throws HttpException, IOException {
>> +            handler.sendRequestHeader(request);
>> +        }
>> +
>> +        @Override
>> +        public void sendRequestEntity(HttpEntityEnclosingRequest request) throws HttpException, IOException {
>> +            handler.sendRequestEntity(request);
>> +        }
>> +
>> +        @Override
>> +        public HttpResponse receiveResponseHeader() throws HttpException, IOException {
>> +            return handler.receiveResponseHeader();
>> +        }
>> +
>> +        @Override
>> +        public void receiveResponseEntity(HttpResponse response) throws HttpException, IOException {
>> +            handler.receiveResponseEntity(response);
>> +        }
>> +
>> +        @Override
>> +        public void flush() throws IOException {
>> +            handler.flush();
>> +        }
>> +
>> +        @Override
>> +        public InetAddress getLocalAddress() {
>> +            return handler.getLocalAddress();
>> +        }
>> +
>> +        @Override
>> +        public int getLocalPort() {
>> +            return handler.getLocalPort();
>> +        }
>> +
>> +        @Override
>> +        public InetAddress getRemoteAddress() {
>> +            return handler.getRemoteAddress();
>> +        }
>> +
>> +        @Override
>> +        public int getRemotePort() {
>> +            return handler.getRemotePort();
>> +        }
>> +
>> +        @Override
>> +        public void close() throws IOException {
>> +            handler.close();
>> +        }
>> +
>> +        @Override
>> +        public boolean isOpen() {
>> +            return handler.isOpen();
>> +        }
>> +
>> +        @Override
>> +        public boolean isStale() {
>> +            return handler.isStale();
>> +        }
>> +
>> +        @Override
>> +        public void setSocketTimeout(int timeout) {
>> +            handler.setSocketTimeout(timeout);
>> +        }
>> +
>> +        @Override
>> +        public int getSocketTimeout() {
>> +            return handler.getSocketTimeout();
>> +        }
>> +
>> +        @Override
>> +        public void shutdown() throws IOException {
>> +            handler.shutdown();
>> +        }
>> +
>> +        @Override
>> +        public HttpConnectionMetrics getMetrics() {
>> +            return handler.getMetrics();
>> +        }
>> +    }
>> +}
>>
>> Modified: jmeter/trunk/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSampler.java
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSampler.java?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSampler.java (original)
>> +++ jmeter/trunk/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSampler.java Mon Jan  5 19:49:06 2015
>> @@ -84,6 +84,7 @@ public class JDBCSampler extends Abstrac
>>              try {
>>                  conn = DataSourceElement.getConnection(getDataSource());
>>              } finally {
>> +                // FIXME: there is separate connect time field now
>>                  res.latencyEnd(); // use latency to measure connection time
>>              }
>>              res.setResponseHeaders(conn.toString());
>>
>> Modified: jmeter/trunk/xdocs/changes.xml
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/xdocs/changes.xml (original)
>> +++ jmeter/trunk/xdocs/changes.xml Mon Jan  5 19:49:06 2015
>> @@ -55,6 +55,7 @@ Summary
>>  <!-- <ch_title>Sample title</ch_title>
>>  <p>
>>  <ul>
>> +<li><bugzilla>48799</bugzilla> - Add time to establish connection to available sample metrics. Implemented by Andrey Pokhilko (andrey at blazemeter.com) and contributed by BlazeMeter Ltd.</li>
>>  <li>Sample text</li>
>>  </ul>
>>  </p>
>>
>> Modified: jmeter/trunk/xdocs/usermanual/glossary.xml
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/glossary.xml?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/xdocs/usermanual/glossary.xml (original)
>> +++ jmeter/trunk/xdocs/usermanual/glossary.xml Mon Jan  5 19:49:06 2015
>> @@ -48,6 +48,10 @@ browser or other application client.
>>  </p>
>>
>>  <p>
>> +<a name="Connect"><b>Connect Time</b></a>. JMeter measures the time it took to estable the connection, including SSL handshake. Note that connect time is not automatically subtracted from <a href="#Latency">latency</a>.
>> +</p>
>> +
>> +<p>
>>  <a name="Median"><b>Median</b></a> is a number which divides the samples into two equal halves.
>>  Half of the samples are smaller than the median, and half are larger.
>>  [Some samples may equal the median.]
>>
>> Modified: jmeter/trunk/xdocs/usermanual/listeners.xml
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/listeners.xml?rev=1649629&r1=1649628&r2=1649629&view=diff
>> ==============================================================================
>> --- jmeter/trunk/xdocs/usermanual/listeners.xml (original)
>> +++ jmeter/trunk/xdocs/usermanual/listeners.xml Mon Jan  5 19:49:06 2015
>> @@ -137,6 +137,7 @@ The full set of properties that affect r
>>  #jmeter.save.saveservice.subresults=true
>>  #jmeter.save.saveservice.assertions=true
>>  #jmeter.save.saveservice.latency=true
>> +#jmeter.save.saveservice.connect_time=false
>>  #jmeter.save.saveservice.samplerData=false
>>  #jmeter.save.saveservice.responseHeaders=false
>>  #jmeter.save.saveservice.requestHeaders=false
>> @@ -304,6 +305,7 @@ The order of appearance of columns is fi
>>  <li>URL</li>
>>  <li>Filename - if Save Response to File was used</li>
>>  <li>latency - time to first response</li>
>> +<li>connect - time to establish connection</li>
>>  <li>encoding</li>
>>  <li>SampleCount - number of samples (1, unless multiple samples are aggregated)</li>
>>  <li>ErrorCount - number of errors (0 or 1, unless multiple samples are aggregated)</li>
>> @@ -427,6 +429,7 @@ The sample attributes have the following
>>  <tr><td>it</td><td>Idle Time = time not spent sampling (milliseconds) (generally 0)</td></tr>
>>  <tr><td>lb</td><td>Label</td></tr>
>>  <tr><td>lt</td><td>Latency = time to initial response (milliseconds) - not all samplers support this</td></tr>
>> +<tr><td>lt</td><td>Connect Time = time to establish the connection (milliseconds) - not all samplers support this</td></tr>
>>  <tr><td>na</td><td>Number of active threads for all thread groups</td></tr>
>>  <tr><td>ng</td><td>Number of active threads in this group</td></tr>
>>  <tr><td>rc</td><td>Response Code (e.g. 200)</td></tr>
>>
>>


Mime
View raw message