首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用单个采样器将jtl结果推送到db时,使用哪些beanshell代码或groovy代码

使用单个采样器将jtl结果推送到db时,使用哪些beanshell代码或groovy代码
EN

Stack Overflow用户
提问于 2022-02-21 13:14:19
回答 1查看 33关注 0票数 0

在j测表中,我希望在运行测试时获得结果,该测试将beansheel代码添加到采样器,并在毫秒内将摘要报表值转换为毫秒,并通过添加一个采样器自动推送MySQL db中的这些值。请给我一步一步的过程和所有可能的解释

以及如何在mysql db中的avg、min、max、响应时间、错误值中的jtl文件值上创建特定值的表--请解释

EN

回答 1

Stack Overflow用户

发布于 2022-02-21 13:26:48

这样做不是更容易使用InfluxDB吗?JMeter提供后端侦听器,它自动向InfluxDB发送度量,它们可以通过格拉法纳可视化。有关更多细节,请查看如何使用Grafana来监视JMeter非GUI结果-第2部分文章。

如果不得不使用MySQL,那么正确的方法就是编写您自己的AbstractBackendListenerClient实现

如果您需要一个“单个采样器”--看看JSR223侦听器,它为SampleResult类实例提供了prev缩写,提供了对所有必要信息的访问,如:

代码语言:javascript
复制
def name = prev.getSampleLabel() // get sampler name
def elapsed = prev.getTime()     // get elapsed time (in milliseconds)
// etc.

为了将它们插入数据库,您可以这样做:

代码语言:javascript
复制
import groovy.sql.Sql

def url = 'jdbc:mysql://localhost:3306/your-database'
def user = 'your-username'
def password = 'your-password'
def driver = 'com.mysql.cj.jdbc.Driver'
def sql = Sql.newInstance(url, user, password, driver)

def insertSql = 'INSERT INTO your-table-name (sampler, elapsed) VALUES (?,?)'
def params = [name , elapsed]
def keys = sql.executeInsert insertSql, params

sql.close()    
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71206947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档