There is small command-line utility for generating graphs out of JTL
files. It behave just like right-click context menu on all graphs. The
tool can generate PNG, CSV or both.
Note you can use GraphsGeneratorListener if you want to bulk generate graphs after a test or for existing results.
Available for download at: http://jmeter-plugins.org/wiki/StandardSet/
You may customize graph drawing and data processing like GUI settings do with optional parameters:
Most of class names are self-explanatory:
Installation
The tool is placed inside distribution ZIP. The tool consists of CMDRunner.jar and shell wrappers. Wrappers just shorten call of "java -jar CMDRunner.jar --tool Reporter ...". The tool files must be placed inside lib/ext directory of JMeter installation. The tool requires JMeterPlugins.jar to be placed in lib/ext also. The tool requires JMeter 2.4 to function properly (2.3 will work only for PNG generation).Available for download at: http://jmeter-plugins.org/wiki/StandardSet/
Usage and Parameters
Generating PNG:java -jar CMDRunner.jar --tool Reporter --generate-png test.png --input-jtl results.jtl \ --plugin-type ResponseTimesOverTime --width 800 --height 600Generating CSV:
java -jar CMDRunner.jar --tool Reporter --generate-csv test.csv \ --input-jtl results.jtl --plugin-type ResponseTimesOverTimeYoy may generate CSV and PNG in single tool run. --help will show you short help list on available parameters.
--generate-png <file> | generate PNG file containing graph | |
--generate-csv <file> | generate CSV file containing graph data | |
--input-jtl <file> | load data from specified JTL file | |
--plugin-type <class> | which type of graph use for results generation |
You may customize graph drawing and data processing like GUI settings do with optional parameters:
--width <pixels> | for PNG only - width of the image, default is 800 | |
--height <pixels> | for PNG only - height of the image, default is 600 | |
--granulation <ms> | granulation time for samples | |
--relative-times <yes/no> | use relative X axis times, no will set absolute times | |
--aggregate-rows <yes/no> | aggregate all rows into one | |
--paint-gradient <yes/no> | paint gradient background | |
--paint-zeroing <yes/no> | paint zeroing lines | |
--paint-markers <yes/no> | paint markers on data points (since 1.1.3) | |
--prevent-outliers <yes/no> | prevent outliers on distribution graph | |
--limit-rows <num of points> | limit number of points in row | |
--force-y <limit> | force Y axis limit | |
--hide-low-counts <limit> | hide points with sample count below limit | |
--success-filter <true/false> | filter samples by success flag (since 0.5.6), possible values are true, false, if not set no filtering on success flag will occur | |
--include-labels <labels list> | include in report only samples with specified labels, comma-separated | |
--exclude-labels <labels list> | exclude from report samples with specified labels, comma-separated | |
--auto-scale <yes/no> | enable/disable auto-scale multipliers for perfmon/composite graph | |
--line-weight <num of pixels> | line thickness for graph rows | |
--extractor-regexps <regExps list> | list of keyRegExp and valRegExp pairs separated with {;}, only used by PageDataExtractorOverTime |
Plugin Type Classes
Make note that you need to install corresponding plugins set to have Extras plugins available in CMD.Most of class names are self-explanatory:
- AggregateReport = JMeter's native Aggregate Report, can be saved only as CSV
- ThreadsStateOverTime = Active Threads Over Time
- BytesThroughputOverTime
- HitsPerSecond
- LatenciesOverTime
- PerfMon = PerfMon Metrics Collector
- ResponseCodesPerSecond
- ResponseTimesDistribution
- ResponseTimesOverTime
- ResponseTimesPercentiles
- ThroughputVsThreads
- TimesVsThreads = Response Times VS Threads
- TransactionsPerSecond
- PageDataExtractorOverTime
Consider I have both CPU and Memory related data in same JTL.
ReplyDeleteHow can I get each graph for CPU and Memory from same JTL
Thank you