首页 > 解决方案 > 如何:使用 sampleresults 将 JMeterVariable 值保存到 influxdb

问题描述

我想使用 Influxdb 的 BackendListenerClient 将一些 JMeterVariables 与 sampleResults 一起存储到一个 influxdb(我正在使用包 rock.nt.apm.jmeter 来获取原始结果)。

我当前的测试为随机客户登录请求一些随机实体并注销。大多数结果都在一个范围内,我想放大某些极端样本结果,找出这些结果是针对哪个客户/请求的实体。过去我们已经看到,我们可以通过这种方式找到特定配置的性能问题。

我将客户和实体 ID 存储在一个变量中。我的问题是无法从 BackendListenerClient 访问 JMeterVariables。我查看了sample_variables属性,但是这个属性会将变量存储在sampleEvent中,在BackendListener中是无法访问的。

我可以使用 threadName 或示例标签来存储 var,但我看到 CSVwriter 实际上可以从事件中写入 var 值,这是一个更好的解决方案。

期待你的想法,

最好的问候,斯普德

标签: variablesjmeterinfluxdb

解决方案


你做对了——后端监听器在微调你发送给 Influx 的数据方面是不可定制的。唉。

但是,在 JMeter 中始终有一把瑞士军刀:JSR223 组件。JSR223侦听器,在您的情况下。

InfluxDB 线路协议非常简单,HTTP/Rest 库非常丰富(Apache HTTP必须已经包含在标准 JMeter 中,据我回忆,不需要额外的 jar) - 只需将其全部拾取,形成您的时间序列随你喜欢,把它扔到你的 InfluxDB REST 端点,工作就完成了。


推荐阅读