diff --git a/bin/jmeter.properties b/bin/jmeter.properties index fca848dddf..bb73ae6260 100644 --- a/bin/jmeter.properties +++ b/bin/jmeter.properties @@ -448,6 +448,12 @@ log_level.jorphan=INFO # Prefix used to identify filenames that are relative to the current base #jmeter.save.saveservice.base_prefix=~/ +# AutoFlush on each line written in XML or CSV output +# Setting this to true will result in less test results data loss in case of Crash +# but with impact on performances, particularly for intensive tests (low or no pauses) +# Since JMeter 2.10, this is false by default +#saving.autoflush=false + #--------------------------------------------------------------------------- # Settings that affect SampleResults #--------------------------------------------------------------------------- diff --git a/src/core/org/apache/jmeter/reporters/ResultCollector.java b/src/core/org/apache/jmeter/reporters/ResultCollector.java index 0861585d69..96b2c362c8 100644 --- a/src/core/org/apache/jmeter/reporters/ResultCollector.java +++ b/src/core/org/apache/jmeter/reporters/ResultCollector.java @@ -51,6 +51,7 @@ import org.apache.jmeter.testelement.TestElement; import org.apache.jmeter.testelement.TestStateListener; import org.apache.jmeter.testelement.property.BooleanProperty; import org.apache.jmeter.testelement.property.ObjectProperty; +import org.apache.jmeter.util.JMeterUtils; import org.apache.jmeter.visualizers.Visualizer; import org.apache.jorphan.logging.LoggingManager; import org.apache.jorphan.util.JMeterError; @@ -95,6 +96,9 @@ public class ResultCollector extends AbstractListenerElement implements SampleLi private static final String SUCCESS_ONLY_LOGGING = "ResultCollector.success_only_logging"; // $NON-NLS-1$ + /** AutoFlush on each line */ + private static final boolean SAVING_AUTOFLUSH = JMeterUtils.getPropDefault("saving.autoflush", false); //$NON-NLS-1$ + // Static variables // Lock used to guard static mutable variables @@ -420,7 +424,7 @@ public class ResultCollector extends AbstractListenerElement implements SampleLi } } writer = new PrintWriter(new OutputStreamWriter(new BufferedOutputStream(new FileOutputStream(filename, - trimmed)), SaveService.getFileEncoding("UTF-8")), false); // $NON-NLS-1$ + trimmed)), SaveService.getFileEncoding("UTF-8")), SAVING_AUTOFLUSH); // $NON-NLS-1$ log.debug("Opened file: "+filename); files.put(filename, new FileEntry(writer, saveConfig)); } else { diff --git a/xdocs/changes.xml b/xdocs/changes.xml index 2a13944122..2613f55bac 100644 --- a/xdocs/changes.xml +++ b/xdocs/changes.xml @@ -86,6 +86,10 @@ This does not affect JMeter operation.

SMTP Sampler now uses eml file subject if subject field is empty

+

With this version autoFlush has been turned off on PrintWriter in charge of writing test results. +This results in improved throughput for intensive tests but can result in more test data loss in case +of JMeter crash (very rare). To revert to previous behaviour set saving.autoflush property to true.

+

Bug fixes