jmeter 监听的介绍
一个侦听器是一个组件,显示的结果 样本。 结果可以显示在一个树,表格,图表或简单地写入到日志中 文件。 查看的内容反应任何给定的采样器,添加的监听器” 视图 结果树 ”或“ 视图的结果表 一个测试计划。 查看图形的响应时间,添加 图的结果。 的 听众 部分组件的页面完整描述所有的听众。
“ 配置 ”按钮可以用来指定哪些字段写入文件,以及是否 把它写成CSV或XML。 比XML文件CSV文件要小得多,所以使用CSV如果你生成了大量的样品。
文件名可以指定使用一个相对或绝对路径名。 相对路径解析相对于当前工作目录(默认 bin / 目录)。 JMeter还支持路径相对于包含当前目录测试计划(JMX文件)。 如果路径名始于“ ~ / ”(或任何 jmeter.save.saveservice.base_prefix JMeter属性), 那么路径被认为是相对于JMX文件位置。
如果你只希望记录某些样本,取样器的添加侦听器作为一个孩子。 或者你可以使用一个简单的控制器组一组采样,并将侦听器添加到。 可以使用相同的文件名由多个采样,但确保他们都使用相同的配置!
默认配置
默认的项目可以定义在得救 jmeter.properties (或 user.properties )文件。 属性被用作初始设置监听器配置弹出,和也 用于指定的日志文件 - l 命令行标志(通常用于非gui测试运行)。
改变默认格式,发现下面的线 jmeter.properties :
jmeter.save.saveservice.output_format=
信息保存的是可配置的。 最大的信息,选择“ xml “格式和指定” 功能测试模式 在测试计划的元素。 如果不检查这个盒子,默认保存 数据包含一个时间戳(午夜以来的毫秒数, 1970年1月1日UTC),数据类型,线程名称,标签, 响应时间、消息和代码,一个成功的指标。 如果勾选此项,所有的信息,包括完整的响应数据将被记录。
下面的例子显示如何设置 属性来得到一个竖线(“ | 会”)分隔的格式 输出结果:。
timeStamp|time|label|responseCode|threadName|dataType|success|failureMessage
02/06/03 08:21:42|1187|Home|200|Thread Group-1|text|true|
02/06/03 08:21:42|47|Login|200|Thread Group-1|text|false|Test Failed:
expected to contain: password etc.
相应的 jmeter.properties 需要设置如下所示。 一个奇怪的地方 在这个例子中是, output_format 被设置为 csv ,这 通常 表明逗号分隔值。 然而, default_delimiter 是 将一个竖线,而不是一个逗号,因此csv标签 在这种情况下用词不当。 (认为CSV意义字符分隔值)
jmeter.save.saveservice.output_format=csv
jmeter.save.saveservice.assertion_results_failure_message=true
jmeter.save.saveservice.default_delimiter=|
属性,影响结果的全套文件输出如下所示。
#---------------------------------------------------------------------------
# Results file configuration
#--------------------------------------------------------------------------- # This section helps determine how result data will be saved.
# The commented out values are the defaults. # legitimate values: xml, csv, db. Only xml and csv are currently supported.
#jmeter.save.saveservice.output_format=csv # true when field should be saved; false otherwise # assertion_results_failure_message only affects CSV output
#jmeter.save.saveservice.assertion_results_failure_message=true
#
# legitimate values: none, first, all
#jmeter.save.saveservice.assertion_results=none
#
#jmeter.save.saveservice.data_type=true
#jmeter.save.saveservice.label=true
#jmeter.save.saveservice.response_code=true
# response_data is not currently supported for CSV output
#jmeter.save.saveservice.response_data=false
# Save ResponseData for failed samples
#jmeter.save.saveservice.response_data.on_error=false
#jmeter.save.saveservice.response_message=true
#jmeter.save.saveservice.successful=true
#jmeter.save.saveservice.thread_name=true
#jmeter.save.saveservice.time=true
#jmeter.save.saveservice.subresults=true
#jmeter.save.saveservice.assertions=true
#jmeter.save.saveservice.latency=true
#jmeter.save.saveservice.connect_time=false
#jmeter.save.saveservice.samplerData=false
#jmeter.save.saveservice.responseHeaders=false
#jmeter.save.saveservice.requestHeaders=false
#jmeter.save.saveservice.encoding=false
#jmeter.save.saveservice.bytes=true
#jmeter.save.saveservice.url=false
#jmeter.save.saveservice.filename=false
#jmeter.save.saveservice.hostname=false
#jmeter.save.saveservice.thread_counts=true
#jmeter.save.saveservice.sample_count=false
#jmeter.save.saveservice.idle_time=true # Timestamp format - this only affects CSV output files
# legitimate values: none, ms, or a format suitable for SimpleDateFormat
#jmeter.save.saveservice.timestamp_format=ms
#jmeter.save.saveservice.timestamp_format=yyyy/MM/dd HH:mm:ss.SSS # For use with Comma-separated value (CSV) files or other formats
# where the fields' values are separated by specified delimiters.
# Default:
#jmeter.save.saveservice.default_delimiter=,
# For TAB, since JMeter 2.3 one can use:
#jmeter.save.saveservice.default_delimiter=\t # Only applies to CSV format files:
# Print field names as first line in CSV
#jmeter.save.saveservice.print_field_names=true # Optional list of JMeter variable names whose values are to be saved in the result data files.
# Use commas to separate the names. For example:
#sample_variables=SESSION_ID,REFERENCE
# N.B. The current implementation saves the values in XML as attributes,
# so the names must be valid XML names.
# JMeter sends the variable to all servers
# to ensure that the correct data is available at the client. # Optional xml processing instruction for line 2 of the file:
#jmeter.save.saveservice.xml_pi=<?xml-stylesheet type="text/xsl" href="sample.xsl"?> # Prefix used to identify filenames that are relative to the current base
#jmeter.save.saveservice.base_prefix=~/ # AutoFlush on each line written in XML or CSV output
# Setting this to true will result in less test results data loss in case of Crash
# but with impact on performances, particularly for intensive tests (low or no pauses)
# Since JMeter 2.10, this is false by default
#jmeter.save.saveservice.autoflush=false # Put the start time stamp in logs instead of the end
sampleresult.timestamp.start=true # Whether to use System.nanoTime() - otherwise only use System.currentTimeMillis()
#sampleresult.useNanoTime=true # Use a background thread to calculate the nanoTime offset
# Set this to <= 0 to disable the background thread
#sampleresult.nanoThreadSleep=5000
日期格式用于 timestamp_format 描述的是 SimpleDateFormat 。 时间戳的格式用于写作和阅读文件。 如果格式设置为“ 女士 ”,并作为一个长整数列不解析, JMeter(2.9 +)将下列格式:
- yyyy / MM / dd HH:MM:ss.SSS
- yyyy / MM / dd HH:MM:ss
- yyyy-MM-dd HH:mm:ss.SSS
- yyyy-MM-dd HH:mm:ss
- MM / dd / yy HH:MM:ss (这是为了兼容以前的版本,不建议作为一种格式)
匹配(non-lenient)现在也严格。 2.8和更早的JMeter宽松模式导致使用时间戳与不正确的日期 通常是正确的(倍)。
样本变量
JMeter支持 sample_variables 属性定义一个额外的JMeter变量列表的得救 韩国乐团中的每个样本文件。 的值将被写入到CSV文件作为额外的列, 和附加属性的XML文件。 在上面看到了一个例子。
样本结果保存配置
侦听器可以配置为不同的项目保存到日志文件(韩国乐团)结果通过使用配置弹出如下所示。 默认值被定义为描述的 侦听器默认配置 上面的部分。 项目名称后(CSV)只适用于CSV格式;项目(XML)只适用于XML格式。 CSV格式目前不能用于保存任何物品,包括换行符。

配置对话
注意,饼干,方法和查询字符串保存的一部分” 取样器数据 ”选项。
非gui(批)测试运行
在非gui模式下运行时, - l 国旗可以用来创建一个顶级侦听器的测试运行。 这是除了任何侦听器在测试计划中定义。 此侦听器的配置控制文件中的条目 jmeter.properties 如前一节所述。
此功能可用于指定不同的数据和日志文件对于每个测试运行,例如:
jmeter -n -t testplan.jmx -l testplan_01.jtl -j testplan_01.log
jmeter -n -t testplan.jmx -l testplan_02.jtl -j testplan_02.log
注意,JMeter日志消息写入到文件中 jmeter.log 默认情况下。 每次重新创建这个文件,所以如果你想保持每个运行的日志文件, 您将需要使用的重命名它 - j 选择如上所述。
JMeter支持日志文件中的变量名称。 如果文件名包含成对的单引号,那么名字是处理 作为一个 SimpleDateFormat 格式应用于当前日期,例如: log_file = ' jmeter_ ' yyyyMMddHHmmss .tmp” 。 这可以用于生成一个唯一的名称为每个测试运行。
资源使用情况
目前大多数的听众保持一份每个样本显示,除了:
- 简单的数据的作家
- BeanShell /净水器侦听器
- 梅勒可视化工具
- 监测结果
- 总结报告
下面的听众不再需要保持每一个样本的副本。 相反,和样品相同的运行时间是聚合。 现在需要更少的内存,尤其是大多数样品只需要一两秒。
- 总报告
- 综合图
尽量减少所需的内存,使用简单的数据的作家,并使用CSV格式。
CSV日志格式
CSV日志格式取决于哪些数据项中选择配置。 只有指定的数据项记录在文件中。 外观的列的顺序是固定的,如下:
- 时间戳 1/1/1970以来,以毫秒为单位
- 运行 ——以毫秒为单位
- 标签 ——取样器标签
- responseCode ——如。 200年 , 404年
- responseMessage ——如。 好吧
- threadName
- 数据类型 ——如。 文本
- 成功 - - - - - - 真正的 或 假
- failureMessage ——如果任何
- 字节 ——在样例的字节数
- grpThreads ——该线程组的活动线程数
- allThreads ——在所有组活动线程的总数
- URL
- 文件名 ——如果 保存对文件 使用
- 延迟 ——时间的第一反应
- 连接 ——时间建立连接
- 编码
- SampleCount 数量的样品(1,除非聚合多个样本)
- ErrorCount 的错误数量(0或1,除非聚合多个样本)
- 主机名 ——生成的示例
- IdleTime 的“空闲”时间的毫秒数(通常0)
- 变量 如果指定的
XML日志格式
更新XML(2.1)的格式如下(换行符将会不同):
<?xml version="1.0" encoding="UTF-8"?>
<testResults version="1.2"> -- HTTP Sample, with nested samples <httpSample t="1392" lt="351" ts="1144371014619" s="true"
lb="HTTP Request" rc="200" rm="OK"
tn="Listen 1-1" dt="text" de="iso-8859-1" by="12407">
<httpSample t="170" lt="170" ts="1144371015471" s="true"
lb="http://www.apache.org/style/style.css" rc="200" rm="OK"
tn="Listen 1-1" dt="text" de="ISO-8859-1" by="1002">
<responseHeader class="java.lang.String">HTTP/1.1 200 OK
Date: Fri, 07 Apr 2006 00:50:14 GMT
⋮
Content-Type: text/css
</responseHeader>
<requestHeader class="java.lang.String">MyHeader: MyValue</requestHeader>
<responseData class="java.lang.String">body, td, th {
font-size: 95%;
font-family: Arial, Geneva, Helvetica, sans-serif;
color: black;
background-color: white;
}
⋮
</responseData>
<cookies class="java.lang.String"></cookies>
<method class="java.lang.String">GET</method>
<queryString class="java.lang.String"></queryString>
<url>http://www.apache.org/style/style.css</url>
</httpSample>
<httpSample t="200" lt="180" ts="1144371015641" s="true"
lb="http://www.apache.org/images/asf_logo_wide.gif"
rc="200" rm="OK" tn="Listen 1-1" dt="bin" de="ISO-8859-1" by="5866">
<responseHeader class="java.lang.String">HTTP/1.1 200 OK
Date: Fri, 07 Apr 2006 00:50:14 GMT
⋮
Content-Type: image/gif
</responseHeader>
<requestHeader class="java.lang.String">MyHeader: MyValue</requestHeader>
<responseData class="java.lang.String">http://www.apache.org/asf.gif</responseData>
<responseFile class="java.lang.String">Mixed1.html</responseFile>
<cookies class="java.lang.String"></cookies>
<method class="java.lang.String">GET</method>
<queryString class="java.lang.String"></queryString>
<url>http://www.apache.org/asf.gif</url>
</httpSample>
<responseHeader class="java.lang.String">HTTP/1.1 200 OK
Date: Fri, 07 Apr 2006 00:50:13 GMT
⋮
Content-Type: text/html; charset=ISO-8859-1
</responseHeader>
<requestHeader class="java.lang.String">MyHeader: MyValue</requestHeader>
<responseData class="java.lang.String"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
⋮
<html>
<head>
⋮
</head>
<body>
⋮
</body>
</html>
</responseData>
<cookies class="java.lang.String"></cookies>
<method class="java.lang.String">GET</method>
<queryString class="java.lang.String"></queryString>
<url>http://www.apache.org/</url>
</httpSample> -- non HTTP Sample <sample t="0" lt="0" ts="1144372616082" s="true" lb="Example Sampler"
rc="200" rm="OK" tn="Listen 1-1" dt="text" de="ISO-8859-1" by="10">
<responseHeader class="java.lang.String"></responseHeader>
<requestHeader class="java.lang.String"></requestHeader>
<responseData class="java.lang.String">Listen 1-1</responseData>
<responseFile class="java.lang.String">Mixed2.unknown</responseFile>
<samplerData class="java.lang.String">ssssss</samplerData>
</sample> </testResults>
注意,示例节点名称可以是“ 样本 ”或“ httpSample ”。
样本的属性
样本的属性有以下意义:
| 属性 | 内容 |
|---|---|
| 通过 | 字节 |
| 德 | 数据编码 |
| dt | 数据类型 |
| 电子商务 | 错误数(0或1,除非聚合多个样本) |
| 接下来的 | 主机名示例生成的地方 |
| 它 | 空闲时间=时间不花在抽样(毫秒)一般(0) |
| 磅 | 标签 |
| lt | 延迟=初始响应时间(毫秒)——并不是所有的取样器支持这个 |
| ct | 连接时间=建立连接的时间(毫秒)——并不是所有的取样器支持这个 |
| na | 所有线程组的活动线程的数量 |
| ng | 这组活动线程的数量 |
| 钢筋混凝土 | 响应代码(如。 200年 ) |
| rm | 响应消息(如。 好吧 ) |
| 年代 | 成功的标志( 真正的 / 假 ) |
| sc | 样本计数(1,除非聚合多个样本) |
| t | 运行时间(毫秒) |
| tn | 线程的名字 |
| ts | 自1970年1月1日午夜时间戳(毫秒UTC) |
| varname | 指定变量的值 |
保存响应数据
如上所示,可以保存在XML响应数据日志文件如果需要。 然而,这可以使文件很大,和文本必须编码 它仍然是有效的XML。 另外,图片不能包括在内。 只有样品反应类型 文本 可以保存。
另一个解决方案是使用后处理器 Save_Responses_to_a_file 。 这对每个样本生成一个新文件,并保存文件名与样品。 文件名可以包含在示例日志输出。 检索的数据将从文件示例日志文件重新加载时如果有必要。
加载(阅读)响应数据
查看现有的结果文件,您可以使用文件” BrowseaŠ ”按钮选择一个文件。 如果有必要,就创建一个虚拟测试规划适当的监听器。
结果可以读取XML或CSV格式的文件。 当阅读从CSV文件,结果头(如果存在)是用来确定哪些字段保存。 为了解释header-less CSV文件正确,适当的JMeter属性必须设置。
侦听器GUI数据保存
JMeter的任何侦听器保存为PNG文件。 为此,选择 侦听器在左边的面板。 点击 编辑 一个 将节点保存为图片 。 一个文件对话框 出现。 输入所需的名称并保存侦听器。
的听众产生输出表也可以使用复制/粘贴保存。 表中选择所需的细胞,并使用操作系统复制捷径(正常 Ctrl +一个 C )。 数据将被保存到剪贴板,从那里可以粘贴到另一个应用程序, 如一个电子表格或文本编辑器。
图1 - 编辑 一个 将节点保存为图片
jmeter 监听的介绍的更多相关文章
- Jmeter -- 监听 -- 查看每个请求的启动时间等信息
步骤: 1. 添加监听器 Add --> Listener --> View Results in Table 2. 执行线程组,查看监听信息
- Jmeter监听tomcat
配置cd /usr/local/tomcat/conf/tomcat-users.xml
- PIE SDK元素事件的监听
1功能简介 元素在操作的过程中,如添加,删除,选中等操作都需要有事件的监听,PIE SDK支持对元素操作事件的监听,下面对元素事件的监听进行介绍. 2功能实现说明 2.1.1 实现思路及原理说明 第一 ...
- Layui事件监听(表单和数据表格)
一.表单的事件监听 先介绍一下几个属性的用法 1.lay-filter 事件过滤器 相当于选择器,layui的专属选择器 2.lay-verify 验证属性 属性值可以是 :required必填项, ...
- jmeter学习记录--03--jmeter负载与监听
jmeter场景主要通过线程组设置完成,有些复杂场景需要与逻辑控制器配合. 一.测试计划设计与执行 场景设计 jmete线程组实际是一个线程池,根据用户设置进行线程池的初始优化,在运行时做各种异常的处 ...
- iOS监听模式系列之键值编码KVC、键值监听KVO的简单介绍和应用
键值编码KVC 我们知道在C#中可以通过反射读写一个对象的属性,有时候这种方式特别方便,因为你可以利用字符串的方式去动态控制一个对象.其实由于ObjC的语言特性,你根部不必进行任何操作就可以进行属性的 ...
- JS 事件绑定、事件监听、事件委托详细介绍
原:http://www.jb51.net/article/93752.htm 在JavaScript的学习中,我们经常会遇到JavaScript的事件机制,例如,事件绑定.事件监听.事件委托(事件代 ...
- Tomcat介绍、安装jdk、安装Tomcat、配置Tomcat监听80端口
1.Tomcat介绍 2.安装jdk下载:wget -c http://download.oracle.com/otn-pub/java/jdk/10.0.1+10/fb4372174a714e6b8 ...
- 使用Jmeter创建ActiveMQ JMS POINT TO POINT请求,环境搭建、请求创建、插件安装、监听服务器资源等
转自:http://www.cnblogs.com/qianyiliushang/p/4348584.html 准备工作: 安装JDK,推荐使用1.7以上版本,并设置JAVA_HOME 下载Jmete ...
随机推荐
- Swift语法总结补充(一)
Swift基础语法学习总结Swift高级语法学习总结Swift语法总结补充(一) 1. 可选类型是一种类型,String?就是Optional<String>,所以函数参数也可以声明为它2 ...
- mongodb数据库设计原则
1.一对很少 one-to-few 可以采用内嵌文档 person集合中 { name:'张三', age:20, address:[ {country:"中国",provin ...
- BZOJ 2758 Blinker的噩梦(扫描线+熟练剖分+树状数组)
题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2758 题意:平面上有n个多边形(凸包和圆).任意两个多边形AB只有两种关系:(1) ...
- 瞧,这就是UE4 C++
1.虚幻中的类前缀你会见到U,A,F,以下就是很好的罗列其中的意义 U: UObject继承过来的,例如UTexture A: AActor继承过来的,例如AGameMode F: 其他的类和结构,例 ...
- cpu,内存,虚拟内存,硬盘,缓存之间是什么关系??
1.CPU即中央处理器,是英语“Central Processing Unit”的缩写.CPU从内存或缓存中取出指令,放入指令寄存器,并对指令译码分解成一系列的微操作,然后发出各种控制命令,执行微操作 ...
- Know How To Use ID_NULL Function To Search An Object In Oracle Forms
ID_NULL built in function is used to determine that an object type variable is null or not null in O ...
- Set Font Properties On Mouse Hover Of Push Button And Text Items At Run time In Oracle Forms
Change the font size and weight of text items and push buttons on mouse hover in Oracle Forms. An ...
- HQL语句大全(转载)
Hibernate配备了一种非常强大的查询语言,这种语言看上去很像SQL.但是不要被语法结构 上的相似所迷惑,HQL是非常有意识的被设计为完全面向对象的查询,它可以理解如继承.多态 和关联之类的概念. ...
- poj 1410 线段相交判断
http://poj.org/problem?id=1410 Intersection Time Limit: 1000MS Memory Limit: 10000K Total Submissi ...
- 函数(def)
一.为什么要使用函数: 面向过程的编程在代码里有很多代码是可以重复利用的,如果使用面向过程编程会使代码显得纷繁复杂,不利于他人和自己日后的阅读.而在函数式编程里,则可以把每个可重复利用的功能封装在一个 ...