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.

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).

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 600

Generating CSV:

java -jar CMDRunner.jar --tool Reporter --generate-csv test.csv \
--input-jtl results.jtl --plugin-type ResponseTimesOverTime

Yoy 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  

Use --input-jtl merge-results.properties with --plugin-type MergeResults. The merge-results.properties file is in JMETER_HOME/bin dir.

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  
--include-label-regex <true/false> include samples using regular expression  
--exclude-label-regex <true/false> exclude samples using regular expression  
--start-offset <sec> include in report only samples with (timestamp - relativeStartTime) > startOffset  
--end-offset <sec> include in report only samples with (timestamp - relativeStartTime) < endOffset  

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
  • 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
  • DbMon = DbMon Metrics Collector, DataBase, get performance counters via sql
  • JMXMon = JMXMon Metrics Collector, Java Management Extensions counters
  • ResponseCodesPerSecond
  • ResponseTimesDistribution
  • ResponseTimesOverTime
  • ResponseTimesPercentiles
  • ThroughputVsThreads
  • TimesVsThreads = Response Times VS Threads
  • TransactionsPerSecond
  • PageDataExtractorOverTime
  • MergeResults = MergeResults Command Line Merge Tool to simplify the comparison of two or more load tests, need properties file (like merge-results.properties)

Other Ways to Automate Reporting

You can use BM.Sense service to automate test results storage and reporting. See also: BM.Sense Uploader plugin.

JMeterPluginsCMD Command Line Tool的更多相关文章

  1. How to Use Android ADB Command Line Tool

    Android Debug Bridge (adb) is a tool that lets you manage the state of an emulator instance or Andro ...

  2. Cordova 3.0 Plugin 安装 及"git" command line tool is not installed

    根据http://docs.phonegap.com/en/edge/guide_cli_index.md.html#The%20Command-line%20Interface Windows命令行 ...

  3. Cookies with curl the command line tool

    w https://curl.haxx.se/docs/http-cookies.html curl has a full cookie "engine" built in. If ...

  4. xcode10对应的xcode command line tool编译的坑

    众所周知,xcode10新增的编译系统new build system会不支持一些老项目的编译,一般的做法是在Xcode编译配置Xcode->File->Project Settings/ ...

  5. NSRunLoop 在mac command line tool上的部分运用

    首先RunLoop相关博客参考这篇https://blog.csdn.net/lengshengren/article/details/12905627. 最近开发了一个mac上的命令行工具,我在主线 ...

  6. cURL POST command line on WINDOWS RESTful service

    26down votefavorite 7 My problem: Running windows 7 and using the executable command line tool to cu ...

  7. Building Xcode iOS projects and creating *.ipa file from the command line

    For our development process of iOS applications, we are using Jenkins set up on the Mac Mini Server, ...

  8. An annotation based command line parser

    Java命令行选项解析之Commons-CLI & Args4J & JCommander http://rensanning.iteye.com/blog/2161201 JComm ...

  9. 怎样安装Command Line Tools in OS x Mavericks&Yosemite(Without xcode)--转载

    How to Install Command Line Tools in OS X Mavericks & Yosemite (Without Xcode) Mac users who pre ...

随机推荐

  1. openvpn实现内网 映射到 外网

    openvpn实现内网 映射到 外网 场景介绍: 机器介绍 本地一台Ubuntu服务器A , 处于内网中 , 无外网IP 外网一台Ubuntu服务器B , 外网地址139.199.4.205 目标 : ...

  2. Linux下如果忘记了Mysql的root密码该怎么办?

    下面十分简单的办法用来重置密码: 1.编辑MySQL配置文件my.cnf vi /etc/my.cnf #编辑文件,找到[mysqld],在下面添加一行skip-grant-tables [mysql ...

  3. vue-router单页应用简单示例(二)

    我们先来理一下思路. 图1:main.js 引入vue,App.vue,router/index.js文件 声明要渲染的Id为app,将App.vue中的模版渲染到入口界面(就是打开localhost ...

  4. DataFrame操作方式

    DataFrame/DataSet 操作 Databricks 不止一次提到过希望未来在编写 Spark 应用程序过程中,对于结构化/半结构化数据,使用 Datasets(DataFrame 的扩展) ...

  5. [leetcode-513-Find Bottom Left Tree Value]

    Given a binary tree, find the leftmost value in the last row of the tree. Example 1: Input:  2 / \ 1 ...

  6. USACO Healthy Holsteins

    首先看题目: Healthy HolsteinsBurch & Kolstad Farmer John prides himself on having the healthiest dair ...

  7. Gist - ES6 Promise

    The concept of "Promise" Promise is used to asynchronous computations. Introduction " ...

  8. bootstrap轮播和百叶窗

    轮播 在bootstrap里面,有设置的图片轮播的代码: <div id="carousel-example-generic" class="carousel sl ...

  9. Win10安裝weblogic12C

    一.系统环境 Win10系统 Jdk1.8 64位 二.安装Weblogic      第一步:用系统管理员身份打开CMD命令提示符,用CMD方式进入"fmw_12.1.3.0.0_wls. ...

  10. 我的第一篇博文:C++最初的路-经典的小游戏走迷宫

    写在开始:这个博客建于大二下学期.2年多的学习,从网上借鉴的大牛经验,代码,指导数不胜数,而其中大部分来自别人的博客,于是期待有一天也能把自己在学习过程中的一些经验拿出来与大家分享. 其实我凝望了C+ ...