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. java基础(十二章)

    一.变量的作用域(有效的使用范围) 1.变量有2种 1.1成员变量(属性) 声明在类的里面,方法的外面 1.2 局部变量 声明在方法里面或for循环结构中 2.调用时的注意事项(初始值不同.作用域不同 ...

  2. SQL Server Alwayson读写分离配置

    标签:MSSQL/只读路由 概述 Alwayson相对于数据库镜像最大的优势就是可读副本,带来可读副本的同时还添加了一个新的功能就是配置只读路由实现读写分离:当然这里的读写分离稍微夸张了一点,只能称之 ...

  3. zookeeper 新手安装指南

    Zookeeper集群的角色:  Leader 和  follower  (Observer) zk集群最好配成奇数个节点 只要集群中有半数以上节点存活,集群就能提供服务 本事例采用版本:zookee ...

  4. XManager5连接CentOS7

    XManager5连接CentOS6的方法已经行不通了,那么如何用XManager5连接CentOS7 从Xmanger官网博客得知: "Gnome in CentOS 7 tries to ...

  5. CSS实现两端对齐效果

    CSS实现两端对齐效果 两端对齐,从概念上来说,其实不难理解.如果不明白什么叫两端对齐,可以玩玩word等办公软件. 下面谈谈如何实现文本的两端对齐.我所知道的大概有以下几种方法 text-align ...

  6. C# 短信发送 邮件发送

    兴趣是最好的老师. --爱因斯坦 一.实现短信发送 1.使用短信mao的方式进行短信发送,前提要购买硬件设备,这里就不考虑展示了: 2.使用中国网建提供的短信平台,但是用几次后要收费: 我们这里主要介 ...

  7. response.sendRedirect页面跳转的方法总结——实习第六天

    今天想到要写这个博客完全是因为今天在这上面摔了一跤,同时也意识到了对于一个学Java的人来讲,知其然并且知其所以然是有多么的重要. 今天报了一个错误,讲的是空指针异常,原因就是在response.se ...

  8. Array.apply(null,{length:20})与new Array(20)的区别

    Array.apply(null,{length:20}) 这句代码的实际意义:创建长度为20的一个数组,但并非空数组. 跟new Array(20)的区别在于,前一种创建方式,得到的数组中的每一个元 ...

  9. php设计模式--命名空间与自动载入

    关于命名空间: 最早的php是没有命名空间的概念的,这样不能存在相同名称的类或者函数,当项目变大了之后,产生冲突的可能性就高了,代码量也会变大,为了规划,从php5.3开始对命名空间就支持了. 说明代 ...

  10. JAVA上传与下载

    java下载指定地址的文件 package com.test; import java.io.FileNotFoundException; import java.io.FileOutputStrea ...