12. Enhanced JMeter Reporting

Mark59 allows for JMeter report splitting by datatype

This chapter assumes you have performed or reviewed the sample JMeter report split and generation bat file CreateDataHunterJmeterReports.bat described for the install:

It would also be worth reading the overview in Reporting - Enhanced JMeter Reporting.

So basically, ResultFilesConverter is a simple program that can be used to split the output csv or xml formatted results file(s) of a JMeter test into multiple reports, determined by datatype. You can just have one combined report, you can split into individual datatypes (Transactions, CPU_UTIL, DATAPOINT, MEMORY), or you can have a Transactions Report and Metrics Report (combining CPU_UTIL, DATAPOINT, MEMORY).

It also allows a few options for transaction error reporting. You can also print out the 'main' transaction of a result containing sub-transactions if you choose (typically in Mark59 this would give you the total length of time an entire Selenium script executed for).

To view the parameters available for ResultFilesConverter, just start the program without parameters, and the options will be listed.

Result File Conversion starting ..
ERROR: ERROR : Parsing failed. Reason: Missing required option: f
usage: ResultsConverter
-e,--errortransactionnaming <arg> How to handle txns marked as failed.
'Rename' suffixes the failed txn
names with '_ERRORED'. 'Duplicate'
keeps the orignal txn plus adds a
'_ERRORED' txn. Default is 'No' -
just keep original txn name.
-f,--outputFilename <arg> Base output CSV file name. File
extension will be .csv (will be
suffixed .csv even if not included in
the argument). If metrics are split
out, an additional file ending will
be added for metric datafile(s) - see
'splitMetrics' options for details.
-i,--inputdirectory <arg> The directory containing the
performance test result file(s).
Multiple xml/csv/jtl results files
allowed. Default is current
directory
-m,--Metricsreportsplit <arg> Option to create separate file(s) for
metric data. 'CreateMetricsReport' -
create separate file with all non-txn
data, suffixed _METRICS ,
'SplitByDataType' create a file per
datatype, suffixed with _{datatype}.
Default is 'No' - just put everything
in the one output file
-o,--outputdirectoy <arg> Directory in which to write the
output CSV file. Must already exist.
Default is a folder named 'MERGED'
under the input directory
-x,--eXcludeResultsWithSub <arg> TRUE (the default) will exclude the
XML file main httpsample transaction
for entries which has sub-results
('FALSE' to include)
Sample usage
------------
1. Concatenate a set of Jmeter result files in D:/Jmeter_Results/MyTestApp, into a single .csv result file, output file MyTestAppJmeterResult.csv to directory D:/Jmeter_Results/MyTestApp/MERGED :
java -jar ResultFilesConverter.jar -iD:\Jmeter_Results\MyTestApp\ -fMyTestAppJmeterResult
2. As above (but with the current directory set as D:/Jmeter_Results/MyTestApp before running), but this time split the metrics dataypes out into separate csv files, and suffix errored txns named with _ERRORED
java -jar ResultFilesConverter.jar -fMyTestAppJmeterResult -eRename -mSplitByDataType

There are no mandatory parameters, but obviously the defaults may not be what you want. In particular the input directory (-i) default value is the current directory, and the output directory (-o) default, which holds will hold the split CSV file(s), will be placed in a folder named 'MERGED' under the input directory.

Only files with suffixes .jtl, .xml and .csv in the input directory are picked up, other files and sub-directories are ignored. The format of the JMeter results file should be as discussed in JMeter Execution Summary Report.