This commit is contained in:
junyejiang 2025-07-22 01:45:09 +08:00 committed by GitHub
commit d5e96e1931
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 23 additions and 0 deletions

View File

@ -759,6 +759,8 @@ wmlParser.types=text/vnd.wap.wml
# set this property to false
#sample_sender_strip_also_on_error=true
sample_sender_strip_if_success=false
# Remote batching support
# Since JMeter 2.9, default is MODE_STRIPPED_BATCH, which returns samples in
# batch mode (every 100 samples or every minute by default)

View File

@ -53,6 +53,7 @@ public class DataStrippingSampleSender extends AbstractSampleSender implements S
private final SampleSender decoratedSender;
// Configuration items, set up by readResolve
private transient volatile boolean stripAlsoOnError;
private static boolean stripIfSuccess = JMeterUtils.getPropDefault("sample_sender_strip_if_success", false);
/**
@ -126,6 +127,24 @@ public class DataStrippingSampleSender extends AbstractSampleSender implements S
private static void stripResponse(SampleResult result) {
result.setBytes(result.getBytesAsLong());
result.setResponseData(EMPTY_BA);
if (stripIfSuccess && result.isSuccessful()) {
result.setSentBytes(result.getSentBytes());
result.setSamplerData(null);
result.setRequestHeaders(null);
result.setBodySize(result.getBodySizeAsLong());
//result.setDataType(null);
//result.setDataEncoding(null);
result.setHeadersSize(result.getHeadersSize());
result.setResponseHeaders(null);
//result.setURL(null);
//result.setResponseMessage(null);
//result.setResponseCode(null);
}
}
/**
@ -138,10 +157,12 @@ public class DataStrippingSampleSender extends AbstractSampleSender implements S
protected Object readResolve() throws ObjectStreamException{
if (isClientConfigured()) {
stripAlsoOnError = clientConfiguredStripAlsoOnError;
stripIfSuccess = JMeterUtils.getPropDefault("sample_sender_strip_if_success", false);
} else {
stripAlsoOnError = SERVER_CONFIGURED_STRIP_ALSO_ON_ERROR;
}
log.info("Using DataStrippingSampleSender for this run with stripAlsoOnError: {}", stripAlsoOnError);
log.info("Using DataStrippingSampleSender for this run with stripIfSuccess: {}", stripIfSuccess);
return this;
}
}