jmeterPlugin CMD命令行生成png圖片及csv統計文件
並且這個插件提供了命令行工具,可以將我們看到的各種曲線,各種報告統計成png圖片,或者csv文件。這樣我們就完全可以通過命令行來運行jmeter,生成jtl文件,然後在解析jtl文件,產生各種報告,或者展示到網頁,或者插入到數據庫,等等。
英文地址:http://jmeter-plugins.org/wiki/JMeterPluginsCMD/
安裝
下載JMeterPlugins-Standard-1.2.0.zip和JMeterPlugins-Extras-1.2.0.zip,解壓將裏面的jar包復制到jmeter的lib/ext文件夾中即可。
用法
生成png圖片:
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ThreadsStateOverTime.png
--input-jtl 1.jtl --plugin-type ThreadsStateOverTime
生成csv圖片:
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ThreadsStateOverTime.csv --input-jtl 1.jtl --plugin-type ThreadsStateOverTime
當然也可以一次性生成兩個文件。下面是改命令的參數:
–generate-png 指定png圖片文件
–generate-csv 指定csv文件名
–input-jtl 指定要解析的jtl文件
–plugin-type 指定要輸出的數據類型,比如響應時間、cpu使用率、錯誤率等
Plugin Type Classes
插件提供解析下面這些數據的對象:
AggregateReport = JMeter’s native Aggregate Report, can be saved only as CSV 聚合報告
SynthesisReport = mix between JMeter’s native Summary Report and Aggregate Report, can be saved only as CSV
BytesThroughputOverTime 流量隨時間的變化曲線
HitsPerSecond 點擊率隨時間的變化曲線
LatenciesOverTime 延遲隨時間的變化曲線
PerfMon = PerfMon Metrics Collector 服務器參數隨時間變化曲線註意這個需要在jmx腳本中添加,服務器監控,要指定ip、端口、監控項,還需要指定perfMon的輸出文件,或者在命令行指定,如sh jmeter.sh -n -t HTTP請求-baidu.jmx -l 2.jtp -JforcePerfmonFile=true,這樣會輸出在當前路徑。perfmon
ResponseCodesPerSecond 響應碼隨時間變化曲線
ResponseTimesDistribution 響應時間分布
ResponseTimesOverTime 響應時間隨時間變化曲線
ResponseTimesPercentiles 響應時間的百分比
ThroughputVsThreads 吞吐率隨線程變化曲線
TimesVsThreads = Response Times VS Threads 響應時間隨線程變化曲線
TransactionsPerSecond 事務隨時間變化曲線
windows環境.bat文件批處理生成png圖片及csv文件
@echo off
set file=/Users/Desktop/TestLoad/result/result01.jtl
set ThreadsStateOverTime=/Users/Desktop
set BytesThroughputOverTime=/Users/Desktop
set HitsPerSecond=/Users/Desktop
set LatenciesOverTime=/Users/Desktop
set ResponseTimesOverTime=/Users/Desktop
set ResponseCodesPerSecond=/Users/Desktop
set ResponseTimesDistribution=/Users/Desktop
set ResponseTimesPercentiles=/Users/Desktop
set ThroughputVsThreads=/Users/Desktop
set TimesVsThreads=/Users/Desktop
set TransactionsPerSecond=/Users/Desktop
set PageDataExtractorOverTime=/Users/Desktop
set CMDRunnerPath=/User/Desktop/Cars_key/software/apache-jmeter-4.0/apache-jmeter-4.0/lib/ext
rem generate png
java -jar %CMDRunnerPath%/CMDRunner.jar --tool Reporter --generate-png %ThreadsStateOverTime%/ThreadsStateOverTime.png --input-jtl %file% --plugin-type ThreadsStateOverTime
java -jar %CMDRunnerPath%/CMDRunner.jar --tool Reporter --generate-png %BytesThroughputOverTime%/BytesThroughputOverTime.png --input-jtl %file% --plugin-type BytesThroughputOverTime
java -jar %CMDRunnerPath%/CMDRunner.jar --tool Reporter --generate-png %HitsPerSecond%/HitsPerSecond.png --input-jtl %file% --plugin-type HitsPerSecond
java -jar %CMDRunnerPath%/CMDRunner.jar --tool Reporter --generate-png %LatenciesOverTime%/LatenciesOverTime.png --input-jtl %file% --plugin-type LatenciesOverTime
java -jar %CMDRunnerPath%/CMDRunner.jar --tool Reporter --generate-png %ResponseCodesPerSecond%/ResponseCodesPerSecond.png --input-jtl %file% --plugin-type ResponseCodesPerSecond
java -jar %CMDRunnerPath%/CMDRunner.jar --tool Reporter --generate-png %ResponseTimesDistribution%/ResponseTimesDistribution.png --input-jtl %file% --plugin-type ResponseTimesDistribution
java -jar %CMDRunnerPath%/CMDRunner.jar --tool Reporter --generate-png %ResponseTimesOverTime%/ResponseTimesOverTime.png --input-jtl %file% --plugin-type ResponseTimesOverTime
java -jar %CMDRunnerPath%/CMDRunner.jar --tool Reporter --generate-png %ResponseTimesPercentiles%/ResponseTimesPercentiles.png --input-jtl %file% --plugin-type ResponseTimesPercentiles
java -jar %CMDRunnerPath%/CMDRunner.jar --tool Reporter --generate-png %ThroughputVsThreads%/ThroughputVsThreads.png --input-jtl %file% --plugin-type ThroughputVsThreads
java -jar %CMDRunnerPath%/CMDRunner.jar --tool Reporter --generate-png %TimesVsThreads%/TimesVsThreads.png --input-jtl %file% --plugin-type TimesVsThreads
java -jar %CMDRunnerPath%/CMDRunner.jar --tool Reporter --generate-png %TransactionsPerSecond%/TransactionsPerSecond.png --input-jtl %file% --plugin-type TransactionsPerSecond
java -jar %CMDRunnerPath%/CMDRunner.jar --tool Reporter --generate-png %PageDataExtractorOverTime%/PageDataExtractorOverTime.png --input-jtl %file% --plugin-type PageDataExtractorOverTime
rem generate csv
java -jar %CMDRunnerPath%/CMDRunner.jar --tool Reporter --generate-csv %ThreadsStateOverTime%/ThreadsStateOverTime.csv --input-jtl %file% --plugin-type ThreadsStateOverTime
java -jar %CMDRunnerPath%/CMDRunner.jar --tool Reporter --generate-csv %BytesThroughputOverTime%/BytesThroughputOverTime.csv --input-jtl %file% --plugin-type ThreadsStateOverTime
java -jar %CMDRunnerPath%/CMDRunner.jar --tool Reporter --generate-csv %HitsPerSecond%/HitsPerSecond.csv --input-jtl %file% --plugin-type BytesThroughputOverTime
java -jar %CMDRunnerPath%/CMDRunner.jar --tool Reporter --generate-csv %LatenciesOverTime%/LatenciesOverTime.csv --input-jtl %file% --plugin-type HitsPerSecond
java -jar %CMDRunnerPath%/CMDRunner.jar --tool Reporter --generate-csv %ResponseCodesPerSecond%/ResponseCodesPerSecond.csv --input-jtl %file% --plugin-type LatenciesOverTime
java -jar %CMDRunnerPath%/CMDRunner.jar --tool Reporter --generate-csv %ResponseTimesDistribution%/ResponseTimesDistribution.csv --input-jtl %file% --plugin-type ResponseCodesPerSecond
java -jar %CMDRunnerPath%/CMDRunner.jar --tool Reporter --generate-csv %ResponseTimesOverTime%/ResponseTimesOverTime.csv --input-jtl %file% --plugin-type ResponseTimesDistribution
java -jar %CMDRunnerPath%/CMDRunner.jar --tool Reporter --generate-csv %ResponseTimesPercentiles%/ResponseTimesPercentiles.csv --input-jtl %file% --plugin-type ResponseTimesOverTime
java -jar %CMDRunnerPath%/CMDRunner.jar --tool Reporter --generate-csv %ThroughputVsThreads%/ThroughputVsThreads.csv --input-jtl %file% --plugin-type ResponseTimesPercentiles
java -jar %CMDRunnerPath%/CMDRunner.jar --tool Reporter --generate-csv %TimesVsThreads%/TimesVsThreads.csv --input-jtl %file% --plugin-type ThroughputVsThreads
java -jar %CMDRunnerPath%/CMDRunner.jar --tool Reporter --generate-csv %TransactionsPerSecond%/TransactionsPerSecond.csv --input-jtl %file% --plugin-type TimesVsThreads
java -jar %CMDRunnerPath%/CMDRunner.jar --tool Reporter --generate-csv %PageDataExtractorOverTime%/TransactionsPerSecond.csv --input-jtl %file% --plugin-type TransactionsPerSecond
Linux環境.sh腳本生成png圖片及csv文件
#!/bin/sh
file= /Users/Desktop/TestLoad/result/result01.jtl
CMDRunnerPath=/User/Desktop/software/apache-jmeter-4.0/apache-jmeter-4.0/lib/ext
#generate png
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ${file%.*}_ThreadsStateOverTime.png --input-jtl $file --plugin-type ThreadsStateOverTime
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ${file%.*}_BytesThroughputOverTime.png --input-jtl $file --plugin-type BytesThroughputOverTime
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ${file%.*}_HitsPerSecond.png --input-jtl $file --plugin-type HitsPerSecond
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ${file%.*}_LatenciesOverTime.png --input-jtl $file --plugin-type LatenciesOverTime
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ${file%.*}_ResponseCodesPerSecond.png --input-jtl $file --plugin-type ResponseCodesPerSecond
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ${file%.*}_ResponseTimesDistribution.png --input-jtl $file --plugin-type ResponseTimesDistribution
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ${file%.*}_ResponseTimesOverTime.png --input-jtl $file --plugin-type ResponseTimesOverTime
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ${file%.*}_ResponseTimesPercentiles.png --input-jtl $file --plugin-type ResponseTimesPercentiles
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ${file%.*}_ThroughputVsThreads.png --input-jtl $file --plugin-type ThroughputVsThreads
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ${file%.*}_TimesVsThreads.png --input-jtl $file --plugin-type TimesVsThreads
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ${file%.*}_TransactionsPerSecond.png --input-jtl $file --plugin-type TransactionsPerSecond
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ${file%.*}_PageDataExtractorOverTime.png --input-jtl $file --plugin-type PageDataExtractorOverTime
#generate csv
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ${file%.*}_AggregateReport.csv --input-jtl $file --plugin-type AggregateReport
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ${file%.*}_ThreadsStateOverTime.csv --input-jtl $file --plugin-type ThreadsStateOverTime
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ${file%.*}_BytesThroughputOverTime.csv --input-jtl $file --plugin-type BytesThroughputOverTime
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ${file%.*}_HitsPerSecond.csv --input-jtl $file --plugin-type HitsPerSecond
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ${file%.*}_LatenciesOverTime.csv --input-jtl $file --plugin-type LatenciesOverTime
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ${file%.*}_ResponseCodesPerSecond.csv --input-jtl $file --plugin-type ResponseCodesPerSecond
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ${file%.*}_ResponseTimesDistribution.csv --input-jtl $file --plugin-type ResponseTimesDistribution
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ${file%.*}_ResponseTimesOverTime.csv --input-jtl $file --plugin-type ResponseTimesOverTime
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ${file%.*}_ResponseTimesPercentiles.csv --input-jtl $file --plugin-type ResponseTimesPercentiles
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ${file%.*}_ThroughputVsThreads.csv --input-jtl $file --plugin-type ThroughputVsThreads
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ${file%.*}_TimesVsThreads.csv --input-jtl $file --plugin-type TimesVsThreads
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ${file%.*}_TransactionsPerSecond.csv --input-jtl $file --plugin-type TransactionsPerSecond
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ${file%.*}_PageDataExtractorOverTime.csv --input-jtl $file --plugin-type PageDataExtractorOverTime
jmeterPlugin CMD命令行生成png圖片及csv統計文件