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 2007/04/22 15:33:12 UTC
svn commit: r531175 - in /jakarta/jmeter/branches/rel-2-2:
src/components/org/apache/jmeter/visualizers/
src/core/org/apache/jmeter/samplers/ test/src/org/apache/jmeter/samplers/
xdocs/
Author: sebb
Date: Sun Apr 22 06:33:11 2007
New Revision: 531175
URL: http://svn.apache.org/viewvc?view=rev&rev=531175
Log:
Bug 42184 - Number of bytes for subsamples not added to sample when sub samples are added
Modified:
jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/samplers/SampleResult.java
jakarta/jmeter/branches/rel-2-2/test/src/org/apache/jmeter/samplers/TestSampleResult.java
jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml
Modified: jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java?view=diff&rev=531175&r1=531174&r2=531175
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java (original)
+++ jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java Sun Apr 22 06:33:11 2007
@@ -324,10 +324,11 @@
sampleDataField.setText(sd);
}
- statsDoc.insertString(statsDoc.getLength(), "Thread Name: " + res.getThreadName() + "\n", null);
+ statsDoc.insertString(statsDoc.getLength(), "Thread Name: " + res.getThreadName() + "\n", null); // $NON-NLS-2$
String startTime = new Date(res.getStartTime()).toString();
- statsDoc.insertString(statsDoc.getLength(), "Sample Start: " + startTime + "\n", null);
- statsDoc.insertString(statsDoc.getLength(), "Load time: " + res.getTime() + "\n", null);
+ statsDoc.insertString(statsDoc.getLength(), "Sample Start: " + startTime + "\n", null); // $NON-NLS-2$
+ statsDoc.insertString(statsDoc.getLength(), "Load time: " + res.getTime() + "\n", null); // $NON-NLS-2$
+ statsDoc.insertString(statsDoc.getLength(), "Size in bytes: " + res.getBytes() + "\n", null); // $NON-NLS-2$
String responseCode = res.getResponseCode();
log.debug("valueChanged1 : response code - " + responseCode);
Modified: jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/samplers/SampleResult.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/samplers/SampleResult.java?view=diff&rev=531175&r1=531174&r2=531175
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/samplers/SampleResult.java (original)
+++ jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/samplers/SampleResult.java Sun Apr 22 06:33:11 2007
@@ -412,7 +412,10 @@
subResults = new ArrayList();
}
subResults.add(subResult);
- setEndTime(subResult.getEndTime());// Extend the time to the end of the added sample
+ // Extend the time to the end of the added sample
+ setEndTime(subResult.getEndTime());
+ // Include the byte count for the added sample
+ setBytes(getBytes() + subResult.getBytes());
subResult.setParent(this);
}
Modified: jakarta/jmeter/branches/rel-2-2/test/src/org/apache/jmeter/samplers/TestSampleResult.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/test/src/org/apache/jmeter/samplers/TestSampleResult.java?view=diff&rev=531175&r1=531174&r2=531175
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/test/src/org/apache/jmeter/samplers/TestSampleResult.java (original)
+++ jakarta/jmeter/branches/rel-2-2/test/src/org/apache/jmeter/samplers/TestSampleResult.java Sun Apr 22 06:33:11 2007
@@ -22,6 +22,7 @@
import junit.framework.TestCase;
+import org.apache.jmeter.util.Calculator;
import org.apache.log.LogTarget;
import org.apache.log.format.Formatter;
import org.apache.log.format.RawFormatter;
@@ -85,6 +86,88 @@
res.samplePause();
assertFalse(wr.toString().length() == 0);
}
+
+ public void testByteCount() throws Exception {
+ SampleResult res = new SampleResult();
+
+ res.sampleStart();
+ res.setBytes(100);
+ res.setSampleLabel("sample of size 100 bytes");
+ res.sampleEnd();
+ assertEquals(100, res.getBytes());
+ assertEquals("sample of size 100 bytes", res.getSampleLabel());
+ }
+
+ public void testSubResults() throws Exception {
+ // This test tries to emulate a http sample, with two
+ // subsamples, representing images that are downloaded for the
+ // page representing the first sample.
+
+ // Sample that will get two sub results, simulates a web page load
+ SampleResult resWithSubResults = new SampleResult();
+ resWithSubResults.sampleStart();
+ Thread.sleep(100);
+ resWithSubResults.setBytes(300);
+ resWithSubResults.setSampleLabel("sample with two subresults");
+ resWithSubResults.setSuccessful(true);
+ resWithSubResults.sampleEnd();
+ long sampleWithSubResultsTime = resWithSubResults.getTime();
+
+ // Sample with no sub results, simulates an image download
+ SampleResult resNoSubResults1 = new SampleResult();
+ resNoSubResults1.sampleStart();
+ Thread.sleep(100);
+ resNoSubResults1.setBytes(100);
+ resNoSubResults1.setSampleLabel("sample with no subresults");
+ resNoSubResults1.setSuccessful(true);
+ resNoSubResults1.sampleEnd();
+ long sample1Time = resNoSubResults1.getTime();
+
+ assertTrue(resNoSubResults1.isSuccessful());
+ assertEquals(100, resNoSubResults1.getBytes());
+ assertEquals("sample with no subresults", resNoSubResults1.getSampleLabel());
+ assertEquals(1, resNoSubResults1.getSampleCount());
+ assertEquals(0, resNoSubResults1.getSubResults().length);
+
+ // Sample with no sub results, simulates an image download
+ SampleResult resNoSubResults2 = new SampleResult();
+ resNoSubResults2.sampleStart();
+ Thread.sleep(100);
+ resNoSubResults2.setBytes(200);
+ resNoSubResults2.setSampleLabel("sample with no subresults");
+ resNoSubResults2.setSuccessful(true);
+ resNoSubResults2.sampleEnd();
+ long sample2Time = resNoSubResults2.getTime();
+
+ assertTrue(resNoSubResults2.isSuccessful());
+ assertEquals(200, resNoSubResults2.getBytes());
+ assertEquals("sample with no subresults", resNoSubResults2.getSampleLabel());
+ assertEquals(1, resNoSubResults2.getSampleCount());
+ assertEquals(0, resNoSubResults2.getSubResults().length);
+
+ // Now add the subsamples to the sample
+ resWithSubResults.addSubResult(resNoSubResults1);
+ resWithSubResults.addSubResult(resNoSubResults2);
+ assertTrue(resWithSubResults.isSuccessful());
+ assertEquals(600, resWithSubResults.getBytes());
+ assertEquals("sample with two subresults", resWithSubResults.getSampleLabel());
+ assertEquals(1, resWithSubResults.getSampleCount());
+ assertEquals(2, resWithSubResults.getSubResults().length);
+ long totalTime = resWithSubResults.getTime();
+
+ // Check the sample times
+ assertEquals(sampleWithSubResultsTime + sample1Time + sample2Time, totalTime);
+
+ // Check that calculator gets the correct statistics from the sample
+ Calculator calculator = new Calculator();
+ calculator.addSample(resWithSubResults);
+ assertEquals(600, calculator.getTotalBytes());
+ assertEquals(1, calculator.getCount());
+ assertEquals(1d / (totalTime / 1000d), calculator.getRate(),0d);
+ // Check that the throughput uses the time elapsed for the sub results
+ assertFalse(1d / (sampleWithSubResultsTime / 1000d) <= calculator.getRate());
+ }
+
// TODO some more invalid sequence tests needed
}
Modified: jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml?view=diff&rev=531175&r1=531174&r2=531175
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml (original)
+++ jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml Sun Apr 22 06:33:11 2007
@@ -210,6 +210,7 @@
<li>Bug 42057 - connection can be null if method is null</li>
<li>Bug 41518 - JMeter changes the HTTP header Content Type for POST request</li>
<li>Bug 42156 - HTTPRequest HTTPClient incorrectly urlencodes parameter value in POST</li>
+<li>Bug 42184 - Number of bytes for subsamples not added to sample when sub samples are added</li>
</ul>
<h3>Version 2.2</h3>
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org