in src/core/src/main/java/org/apache/jmeter/samplers/SampleSaveConfiguration.java [284:385]
static {
Properties props = JMeterUtils.getJMeterProperties();
if (props == null) {
// If properties are not initialized, proceed with defaults
props = new Properties();
}
SUB_RESULTS = TRUE.equalsIgnoreCase(props.getProperty(SUBRESULTS_PROP, TRUE));
ASSERTIONS = TRUE.equalsIgnoreCase(props.getProperty(ASSERTIONS_PROP, TRUE));
LATENCY = TRUE.equalsIgnoreCase(props.getProperty(LATENCY_PROP, TRUE));
CONNECT_TIME = TRUE.equalsIgnoreCase(props.getProperty(CONNECT_TIME_PROP, TRUE));
SAMPLER_DATA = TRUE.equalsIgnoreCase(props.getProperty(SAMPLERDATA_PROP, FALSE));
RESPONSE_HEADERS = TRUE.equalsIgnoreCase(props.getProperty(RESPONSEHEADERS_PROP, FALSE));
REQUEST_HEADERS = TRUE.equalsIgnoreCase(props.getProperty(REQUESTHEADERS_PROP, FALSE));
ENCODING = TRUE.equalsIgnoreCase(props.getProperty(ENCODING_PROP, FALSE));
String dlm = JMeterUtils.getDelimiter(props.getProperty(DEFAULT_DELIMITER_PROP, DEFAULT_DELIMITER));
char ch = dlm.charAt(0);
if (CharUtils.isAsciiAlphanumeric(ch) || ch == CSVSaveService.QUOTING_CHAR){
throw new JMeterError("Delimiter '"+ch+"' must not be alphanumeric or "+CSVSaveService.QUOTING_CHAR+".");
}
if (ch != '\t' && !CharUtils.isAsciiPrintable(ch)){
throw new JMeterError("Delimiter (code "+(int)ch+") must be printable.");
}
DELIMITER = dlm;
FIELD_NAMES = TRUE.equalsIgnoreCase(props.getProperty(PRINT_FIELD_NAMES_PROP, TRUE));
DATATYPE = TRUE.equalsIgnoreCase(props.getProperty(SAVE_DATA_TYPE_PROP, TRUE));
LABEL = TRUE.equalsIgnoreCase(props.getProperty(SAVE_LABEL_PROP, TRUE));
CODE = TRUE.equalsIgnoreCase(props.getProperty(SAVE_RESPONSE_CODE_PROP, TRUE));
RESPONSE_DATA = TRUE.equalsIgnoreCase(props.getProperty(SAVE_RESPONSE_DATA_PROP, FALSE));
RESPONSE_DATA_ON_ERROR = TRUE.equalsIgnoreCase(props.getProperty(SAVE_RESPONSE_DATA_ON_ERROR_PROP, FALSE));
MESSAGE = TRUE.equalsIgnoreCase(props.getProperty(SAVE_RESPONSE_MESSAGE_PROP, TRUE));
SUCCESS = TRUE.equalsIgnoreCase(props.getProperty(SAVE_SUCCESSFUL_PROP, TRUE));
THREAD_NAME = TRUE.equalsIgnoreCase(props.getProperty(SAVE_THREAD_NAME_PROP, TRUE));
BYTES = TRUE.equalsIgnoreCase(props.getProperty(SAVE_BYTES_PROP, TRUE));
SENT_BYTES = TRUE.equalsIgnoreCase(props.getProperty(SAVE_SENT_BYTES_PROP, TRUE));
URL = TRUE.equalsIgnoreCase(props.getProperty(SAVE_URL_PROP, TRUE));
FILE_NAME = TRUE.equalsIgnoreCase(props.getProperty(SAVE_FILENAME_PROP, FALSE));
HOST_NAME = TRUE.equalsIgnoreCase(props.getProperty(SAVE_HOSTNAME_PROP, FALSE));
TIME = TRUE.equalsIgnoreCase(props.getProperty(SAVE_TIME_PROP, TRUE));
String temporaryTimestampFormat = props.getProperty(TIME_STAMP_FORMAT_PROP, MILLISECONDS);
PRINT_MILLISECONDS = MILLISECONDS.equalsIgnoreCase(temporaryTimestampFormat);
if (!PRINT_MILLISECONDS && !NONE.equalsIgnoreCase(temporaryTimestampFormat)) {
DATE_FORMAT = validateFormat(temporaryTimestampFormat);
} else {
DATE_FORMAT = null;
}
TIMESTAMP = !NONE.equalsIgnoreCase(temporaryTimestampFormat);// reversed compare allows for null
SAVE_ASSERTION_RESULTS_FAILURE_MESSAGE = TRUE.equalsIgnoreCase(props.getProperty(
ASSERTION_RESULTS_FAILURE_MESSAGE_PROP, TRUE));
String whichAssertionResults = props.getProperty(ASSERTION_RESULTS_PROP, NONE);
if (NONE.equals(whichAssertionResults)) {
ASSERTIONS_RESULT_TO_SAVE = SAVE_NO_ASSERTIONS;
} else if (FIRST.equals(whichAssertionResults)) {
ASSERTIONS_RESULT_TO_SAVE = SAVE_FIRST_ASSERTION;
} else if (ALL.equals(whichAssertionResults)) {
ASSERTIONS_RESULT_TO_SAVE = SAVE_ALL_ASSERTIONS;
} else {
ASSERTIONS_RESULT_TO_SAVE = 0;
}
String howToSave = props.getProperty(OUTPUT_FORMAT_PROP, CSV);
if (XML.equals(howToSave)) {
IS_XML = true;
} else {
if (!CSV.equals(howToSave)) {
log.warn("{} has unexpected value: '{}' - assuming 'csv' format", OUTPUT_FORMAT_PROP, howToSave);
}
IS_XML = false;
}
THREAD_COUNTS=TRUE.equalsIgnoreCase(props.getProperty(SAVE_THREAD_COUNTS, TRUE));
SAMPLE_COUNT=TRUE.equalsIgnoreCase(props.getProperty(SAVE_SAMPLE_COUNT, FALSE));
IDLE_TIME=TRUE.equalsIgnoreCase(props.getProperty(SAVE_IDLE_TIME, TRUE));
}