Bootstrap

学技术学英文:通过jmeter命令行工具生成聚合报告文件到csv文件

单词

汉语意思

音标

aggregate

聚合

/ˈæɡrɪɡeɪt/

command-line

命令行

/kəˈmænd laɪn/

distribution

分布

/ˌdɪstrɪˈbjuːʃn/

extractor

提取器

/ɪkˈstræktər/

granulation

细分

/ˌɡrænjuˈleɪʃn/

jmeter

JMeter(软件)

/ˈdʒeɪˌmiːtər/

latencies

延迟

/ˈleɪtənsiz/

merge

合并

/mɜːrdʒ/

outliers

异常值

/ˈaʊtˌlaɪərz/

parameters

参数

/pəˈræmɪtərz/

percentiles

百分位数

/pərˈsɛntaɪlz/

plugin

插件

/ˈplʌɡɪn/

regex

正则表达式

/ˈriːɡɛks/

synthesis

综合

/ˈsɪnθəsɪs/

throughput

吞吐量

/ˈθruːpʊt/

transactions

事务

/trænˈzækʃənz/

utility

工具

/juːˈtɪlɪti/

visualization

可视化

/ˌvɪʒuəlɪˈzeɪʃn/

zeroing

归零

/ˈzɪərɪŋ/

customization

定制

/ˌkʌstəmaɪˈzeɪʃn/

JMeterPluginsCMD Command Line Tool

 Download

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 installed normally with PluginsManager, producing launcher bat/sh files in JMeter's bin directory. Use JMeterPluginsCMD.bat on Windows and JMeterPluginsCMD.sh on MacOS and Linux.

Usage and Parameters

Generating PNG:

JMeterPluginsCMD.bat --generate-png test.png --input-jtl results.jtl --plugin-type ResponseTimesOverTime --width 800 --height 600

Generating CSV:

JMeterPluginsCMD.bat --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
--yAxisLabel <String>Set Y-Axis label on charts

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)

中文总结:

  • JMeterPluginsCMD 是一个用于从 JTL 文件生成图表的小型命令行工具。

  • 可以生成 PNG 或 CSV 格式的图表,甚至可以同时生成两种格式。

  • 安装工具时,会在 JMeter 的 bin 文件夹中生成启动脚本(bat/sh 文件)。

  • 使用 --generate-png 和 --generate-csv 参数来指定生成的文件名。

  • --input-jtl 参数用于指定输入的 JTL 文件。

  • --plugin-type 参数决定使用哪种类型的图表生成结果。

  • 可以通过 --width 和 --height 参数调整生成的 PNG 图表尺寸。

  • 提供了诸如 --relative-times, --aggregate-rows, --paint-gradient 等参数来定制图表的展示和数据处理。

  • 可以使用正则表达式 (--include-label-regex, --exclude-label-regex) 来包含或排除特定标签的样本。

  • 需要安装相应的插件集才能在命令行工具中使用额外的插件功能。

 

;