JMeter - 实时结果 - InfluxDB和Grafana - 第2部分 - 添加自定义字段
我已经使用InfluxDB + Grafana来获取我的JMeter测试的实时结果。您可以在此处找到有关基本设置的更多详细信息。在本文中,让我们看看我们如何在InfluxDB测量中添加一些自定义字段,以便在将来可能需要更快的搜索。
问题陈述:
在我的组织中,我们有一组负载生成器用于性能测试。我们使用这些机器来测试多个项目/应用程序。有时,我会为应用程序的组件级别测试创建多个套件。你可以在这里查看我是如何做到这一点的。

我们的后端监听器将所有指标发送到这些测量 - 当天结束 - 我们不确定这些指标属于哪个应用程序/项目。

如果我们可以根据应用程序/项目/套件甚至Jenkins构建#来过滤指标,那就太好了。
解:
幸运的是,我们不必提出自己的实现来实现这一目标。使用现有的JMeter后端监听器本身,解决方案非常简单。
- 就本文而言,我创建了一个简单的JMeter测试,如下所示。

- 让我们添加几个用户定义的变量,如下所示。我这里有硬编码值。您可以对其进行参数化 - 从Jenkins传递值。

- 现在我需要将这些值发送到InfluxDB。最简单的选择是更新后端监听器的rootMetricsPrefix。
jmeter.${project}.${suite}.${jenkins.build.number}.

- 运行JMeter测试。等几秒钟。
- 检查JMeter创建的测量值。

- 这些测量名称有助于我们识别项目/应用程序/套件/ Jenkins构建数量的度量标准。
但是,这不是我想要的!

我不希望在InfluxDB中进行大量的测量,这些测量变得非常难以查询/维护。
让我们看看我们如何做得更好。
JMeter的石墨输入:
JMeter以下列格式向InfluxDB发送2种类型的指标。
- 响应时间指标:
jmeter.testautomationguru.smoketest.121.Login.a.avg 135

状态 可以通过,ko表示失败,a表示全部
度量可以是min,max,avg,pct90,pct 95等
页面可以是采样器级别详细信息的采样器名称,也可以是聚合信息的采样器名
当InfluxDB接收到这样的数据时,如果它无法找到模板,如果它已经不存在,它将创建带有名称的测量,并将该值记录在测量中的当前时间戳中。

- 线程/用户指标:
jmeter.testautomationguru.smoketest.121.test.meanAT 10
这与上面相同。这里缺少页面和状态并被' test ' 取代。
石墨输入的模板:
通过使用石墨输入模板,我们可以避免创建多个测量。
有关Graphite输入模板的更多信息,请点击此处。
也就是说,响应时间石墨输入“ jmeter.testautomationguru.smoketest.121.Login.a.avg ” 的模板将是“ measurement.project.suite.build.page.status.metric ”
我们需要在不同的度量中记录线程/用户度量,因为它不能成为采样器级别度量的一部分。由于JMeter以略微不同的格式发送2个指标,因此让我们分别捕获它们。
通过使用正则表达式格式,如果输入是特定格式,我们可以指示InfluxDB使用特定模板。

对于此输入 - “ jmeter.testautomationguru.smoketest.121.test.meanAT ”,项目,套件,内部版本号可以是任何内容。但肯定会接着进行“ 测试 ”。
因此,所有用户指标都可以通过此输入格式捕获 - “ jmeter。。。*。测试 “
在InfluxDB配置文件中相应更新模板,然后重新启动InfluxDB以获取更新配置。
立即运行JMeter测试并查看。[请注意,InfluxDB仅将模板用于新输入。现有的测量值不能改变]
我们现在只能看到2个测量值。1表示响应时间,1表示用户指标。

如果我查询测量,我将我的项目/应用程序,套件,构建信息,页面,状态等作为不同的列。

“jmeter.test”用于具有类似信息的线程/用户度量。

这要好得多!!

Grafana模板:
当我们记录项目,套件时,Jenkins构建#,metric等作为测量标签/列,我们可以使用Grafana模板来过滤/重复整行。
- 转到Grafana - > 仪表板 - >管理仪表板 - >模板 创建一个新变量。

查看此视频,了解如何创建模板变量并在查询中使用以进行过滤。
页面重复面板:
我们可以为每个变量/页面重复整个面板。观看此视频。
摘要:
正如我们所看到的,我们应该能够在InfluxDB中添加一些自定义数据,以便使用Graphite输入模板和Grafana模板变量进行更快速的搜索。
本文仅介绍JMeter性能测试结果。您可能对收集应用程序服务器性能指标+ JVM指标非常感兴趣。检查下面的TestautomationGuru文章。
快乐测试和订阅
JMeter - 实时结果 - InfluxDB和Grafana - 第2部分 - 添加自定义字段的更多相关文章
- JMeter - 实时结果 - InfluxDB和Grafana - 第1部分 - 基本设置
概述: 在本文中,我将解释如何使用JMeter + InfluxDB + Grafana获得实时性能测试结果. 请注意,此主题太大,无法涵盖一篇文章中的所有内容.所以,我试图提供与TestAutoma ...
- 【jmeter】基于InfluxDB&Grafana的JMeter实时性能测试数据的监控和展示
本文主要讲述如何利用JMeter监听器Backend Listener,配合使用InfluxDB+Grafana展示实时性能测试数据 关于JMeter实时测试数据 JMeter从2.11版本开始,命令 ...
- 性能测试 CentOS下结合InfluxDB及Grafana图表实时展示JMeter相关性能数据
CentOS下结合InfluxDB及Grafana图表实时展示JMeter相关性能数据 by:授客 QQ:1033553122 实现功能 1 测试环境 1 环境搭建 2 1.安装influxdb ...
- jmeter --- 基于InfluxDB&Grafana的JMeter实时性能测试数据的监控和展示
转自:https://blog.csdn.net/RickyOne_RR/article/details/50637839 本文主要讲述如何利用JMeter监听器Backend Listener,配合 ...
- 转:基于InfluxDB&Grafana的JMeter实时性能测试数据的监控和展示
本文主要讲述如何利用JMeter监听器Backend Listener,配合使用InfluxDB+Grafana展示实时性能测试数据 关于JMeter实时测试数据 JMeter从2.11版本开始,命令 ...
- 性能测试 基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据
基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据 by:授客 QQ:1033553122 实现功能 测试环境 环境搭建 使用前提 使用方法 运行程序 效果展 ...
- 性能测试 基于Python结合InfluxDB及Grafana图表实时采集Linux多主机或Docker容器性能数据
基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据 by:授客 QQ:1033553122 实现功能 1 测试环境 1 环境搭建 3 使用前提 3 使用方法 ...
- 性能测试 基于Python结合InfluxDB及Grafana图表实时监控Android系统和应用进程
基于Python结合InfluxDB及Grafana图表实时监控Android系统和应用进程 By: 授客 QQ:1033553122 1. 测试环境 2. 实现功能 3. 使用前提 4. ...
- jmeter 实时搜索结果
因为JMeter 2.13你可以得到实时搜索结果发送到后端通过 后端侦听器 使用潜在的任何后端(JDBC.JMS网络服务,Š) 通过提供一个实现类 AbstractBackendListenerCl ...
随机推荐
- Android数据存储的五种方法汇总
本文介绍Android中的5种数据存储方式. 数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是: 1 使用SharedPreferences存储数据 2 ...
- [原]NYOJ-小光棍数-458
大学生程序代写 /http://acm.nyist.net/JudgeOnline/problem.php?pid=458 *题目458题目信息运行结果本题排行讨论区小光棍数 时间限制:1000 ms ...
- netsh wlan start hostednetwork
常用的无线网命令: 一.开启系统承载网络模块和新建无线网络命令: netsh wlan set hostednetwork mode=allow ssid=wifi key=12345678说明:ss ...
- ACM学习历程—UESTC 1217 The Battle of Chibi(递推 && 树状数组)(2015CCPC C)
题目链接:http://acm.uestc.edu.cn/#/problem/show/1217 题目大意就是求一个序列里面长度为m的递增子序列的个数. 首先可以列出一个递推式p(len, i) = ...
- BestCoder Round #93 比赛记录
机房又迎来了一次BC.大家都沸腾了... BC开场,大家全都瞬间开始 啪啦啪啦啪啦啪啦 都要赶紧水过第一题. 第一题明显直接贪心就好了,用map去重. 本人荣幸地第一个写完,提交 Wa. (崩溃的内心 ...
- django TimedRotatingFileHandler log
15.9.6. TimedRotatingFileHandler¶ The TimedRotatingFileHandler class, located in the logging.handler ...
- BZOJ5281:[Usaco2018 Open]Talent Show
我对二分的理解:https://www.cnblogs.com/AKMer/p/9737477.html 题目传送门:https://www.lydsy.com/JudgeOnline/problem ...
- form+iframe实现ajax文件上传
在做文件上传时除了传入文件外,还有附件参数,并且要求不刷新页面,之前是表单提交的方式,现在修改成ajax上传的方式,由于没有选择用插件,所以用form+iframe的方式,并且这种方式对IE8以上及主 ...
- 弱网测试--使用fiddle进行弱网测试
数据源于:http://blog.csdn.net/eleven521/article/details/19089671 弱网测试原理以及方法(一)一.为什么要进行弱网测试?按照移动特性,各种网络连接 ...
- C#使用NPOI将DataGridView内数据写入电子表格Excel
NPOI能够在用户没有安装office的情况下读写office文件,包括.xls/.doc/.ppt等类型的文件.本文介绍的是使用NPOI库内的函数读写Excel(.xls)内的内容.在使用NPOI之 ...