`

JMeterPluginCMD命令行工具生成png图片和csv统计文件

 
阅读更多

Jmeter是个纯java的开源的轻量级性能测试工具,功能强大。因为是轻量级的,与loadrunner相比,报告统计的相对较少。不过有jmeter的插件-JMeterPlugins,可以提供不少其他的报告,包括各种响应时间、吞吐率、线程等的变化曲线等

 

并且这个插件提供了命令行工具,可以将我们看到的各种曲线,各种报告统计成png图片,或者csv文件。这样我们就完全可以通过命令行来运行jmeter,生成jtl文件,然后在解析jtl文件,产生各种报告,或者展示到网页,或者插入到数据库,等等。

 

英文地址:http://jmeter-plugins.org/wiki/JMeterPluginsCMD/

 

安装

 

下载JMeterPlugins-Standard-1.2.0.zipJMeterPlugins-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
  • ThreadsStateOverTime = Active Threads Over Time 线程数随时间的变化曲线
  • 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 事务随时间变化曲线
  • PageDataExtractorOverTime
  • MergeResults
 #!/bin/sh
    file=$1
    perfmonPath=$2

    CMDRunnerPath=/Users/apple/work/jmeter-2.11/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
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-png ${file%.*}_PerfMon.png --input-jtl  $2  --plugin-type PerfMon

    #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

 

 

 

 

分享到:
评论

相关推荐

    Gdal 命令行工具(DEM及图像栅格文件处理工具)

    Gdal 命令行工具(DEM及图像栅格文件处理工具) Gdal_translate 可以将多种不同类型的栅格文件(DEM或图片JPG,JP2,PNG,TIF)进行格式转换如INT16 转float32 Gdal_translate /H可以查询使用的参数 其它的一些Gdal工具...

    将 BLP图像文件转换为 PNG 或 TGA 的命令行工具_C++_代码_下载

    将 BLP 图像文件转换为 PNG 或 TGA 格式的命令行工具。BLP 暴雪游戏使用图像。 支持以下 BLP 格式: * BLP1: - JPEG - 未压缩无 Alpha 通道 - 使用 Alpha 通道(8 位)未压缩 * BLP2: - 未压缩无 Alpha ...

    QRCode:在命令行上生成 png 二维码

    二维码在命令行上生成 png 二维码如何从 .jar 制作命令行可执行文件这将帮助您创建可执行文件,而无需一直输入java -jar 。 > (echo '#!/usr/bin/java -jar'; cat out/artifacts/QRCode_jar/QRCode.jar) > qrcode...

    javascript js如何根据数据生成png图片.zip_jsp js

    在JavaScript编程领域,生成PNG图片是一项常见的需求,特别是在数据分析、可视化和动态图表的制作中。JavaScript库如HTML5的Canvas API或第三方库如jsCharts都提供了这样的功能。本篇文章将详细探讨如何使用...

    base64的XML或XML生成png图片.rar

    综上所述,"base64的XML或XML生成png图片.rar"项目涉及了Java编程语言中的XML解析、Base64编码与解码、图像处理等多个技术领域。通过理解和掌握这些技术,开发者可以创建出更安全、更灵活的数据转换解决方案。

    任意图片转8位(256色)png图片工具(win平台命令行)

    标题中的“任意图片转8位(256色)png图片工具”指的是一个软件或程序,它能够将各种格式的图像文件转换成8位色彩深度的PNG图片。8位PNG图片意味着每个像素由8个二进制位表示,总共可以表示256种颜色,这种格式常用于...

    PDF转图片命令行工具

    PDF转图片命令行工具,可通过C#中Process调用或者命令行调用。命令行调用:pdf2png.exe D:\1.pdf D:\ 300 1。第一参数为全路径PDF,第二参数为图片存储文件夹路径,第三参数为照片品质值,第四参数为转换页数(0则全...

    大张png图片分割成一个一个的小的png图工具, 多张小图转成图集texture,生成plist文件

    总结来说,大张PNG图片的分割和图集、plist文件的生成是游戏和应用资源优化的关键步骤。通过这个过程,开发者能够有效地管理大量图形资源,提升应用性能,同时降低内存占用。使用专门的工具,如“png转plist工具”,...

    Qt之生成png/jpg/bmp格式图片

    在Qt框架中,生成并保存png、jpg和bmp格式的图片是常见的需求,尤其是在进行图形用户界面(GUI)开发时。QImage和QPainter是Qt提供的两个关键类,用于图像处理和绘制。以下是对这两个类及其在生成不同格式图片中的...

    使用 TinyPNG API 缩小 PNG图像的 便捷命令行工具_JavaScript_代码_下载

    使用 TinyPNG API 缩小 PNG 图像的便捷命令行工具 法 TinyPNG CLI 允许您以两种不同的方式提供您的 API 密钥。更方便的方法是将 API 密钥保存到.tinypng您的主目录中调用的文件中。另一种方法是在运行 CLI 时将其...

    png 图片压缩加密工具

    4. 开始处理,工具会执行压缩和加密操作,并生成新的加密PNG文件。 5. 保存加密后的文件,确保备份解密密钥以备后续使用。 总的来说,PNG图片压缩加密工具是一种实用的软件,它结合了图片压缩和加密技术,为那些...

    PNG图片宽高一把梭,爆破PNG图片宽高

    这种工具可能允许用户直接拖放PNG文件,然后通过内部算法快速读取或"爆破"出图片的实际尺寸,尤其是当图片被恶意篡改或者加密时。 爆破PNG图片宽高可能涉及到以下技术点: 1. PNG文件结构:了解PNG文件的结构至关...

    png加密解密工具:保护个人隐私,加密传输

    Steghide是一款命令行工具,可隐藏数据于JPEG、BMP、WAV和AU文件中,虽然不直接支持PNG,但可以通过一些转换手段来使用。而OpenStego则专门支持PNG文件的隐写术操作,它是一款开源工具,用户可以在其官方网站上免费...

    Node.js-基于TinyPNG封装的一个支持nodejs命令行和webpack的图片压缩工具

    在这个项目中,我们讨论的是一个基于TinyPNG库封装的工具,该工具能够集成到Node.js的命令行和webpack打包流程中,用于高效地压缩图片,降低文件大小,从而优化网站或应用的加载速度。 TinyPNG是一款优秀的在线图片...

    png生成keil用c文件

    这通常由专用工具完成,例如"PNG2C",它可以读取PNG文件并生成C源代码,该代码包含一个或多个数组,每个数组代表图片的一行像素。 3. **生成的C文件结构**:生成的C文件通常包含一个头文件,定义了数组的结构和大小...

    基于paddleocr识别图片里面的表格数据导出成csv的文件streamlit进行部署和展示源码.zip

    该项目是关于利用深度学习技术对医学图片中的表格数据进行识别并导出为CSV文件的解决方案。核心工具是百度开发的PaddleOCR,一个强大的OCR(Optical Character Recognition,光学字符识别)框架,专为中文字符识别...

    PNG加密解密工具是什么?加密代码演示.docx

    此工具可以加密和解密PNG图片,保护您的隐私。 ## 加密 1. 选择要加密的PNG图片。 2. 输入密码并确认。 3. 点击“加密”按钮。 4. 保存加密后的PNG图片。 ## 解密 1. 选择要解密的PNG图片。 2. 输入密码并确认。...

    饥荒自动打包工具,一键打包命令行工具

    饥荒Mod 开发一键打包工具,这是一个...工具包中包含一个 Textool ,可以用来反解 纹理,将纹理转成png图片。Spriter 动画制作打包工具。可以为物品制作各种帧动画压缩包中有一个使用文档,以及一个图片。两个命令行

    Color quantizer+命令行工具TruePNG

    标签中的“Colorquantizer”是原始的图形界面工具,而“图片压缩命令行工具”和“命令行图片压缩工具”明确了TruePNG的核心功能,即在命令行环境下对图像进行压缩。此外,“cq命令行工具”可能是指使用“cq”作为...

    pngnq win32 图片压缩命令行工具

    这个工具的主要目的是为了减少PNG(Portable Network Graphics)图像文件的大小,从而节省存储空间和提高网页加载速度,尤其适合那些对文件体积敏感的项目。PNGNQ是基于NQuant算法的一个实现,它通过牺牲一些颜色...

Global site tag (gtag.js) - Google Analytics