JMeter-石墨后端侦听器rootmetrics使用先前生成的值的前缀
问题内容:
背景
:我正在使用石墨来存储性能测试期间生成的数据,理想情况下,我们还要查看历史图表。因此,我将在安装线程组中动态创建rootMetricsPrefix文件夹名称,并将其分配给属性。后端侦听器位于不同的线程组中,并且配置使用此文件夹名称作为rootMetricsPrefix-
<elementProp name="rootMetricsPrefix" elementType="Argument">
<stringProp name="Argument.name">rootMetricsPrefix</stringProp>
<stringProp `enter code here`name="Argument.value">${__property(graphiteFolderName)}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
症状 :第一次运行JMeter脚本(打开JMeter后),在Graphite
DB中没有生成文件夹。从第二次运行开始,结果将写入上一次运行中定义的文件夹。例如,运行1:DynamicResultsFolder_1(未写入结果)运行2:DynamicResultsFolder_2(将结果写入DynamicResultsFolder_1)运行3:DynamicResultsFolder_3(将结果写入DynamicResultsFolder_2)
当我将文件夹名称打印到主线程组中的日志时,预期的文件夹名称将被打印出。问题似乎在于在BackendListener配置中评估$ {__
property(graphiteFolderName)}的方式。
我还尝试将属性分配给本地变量,并在BackendListener配置中使用本地变量,但这不会将任何结果写入数据库。
关于这里发生的事情或如果我缺少明显的东西有任何想法吗?
问题答案:
这将不起作用,因为将在执行setUp
ThreadGroup
之前将后端侦听器参数传递给组件。
因此发生的情况是,第一次未配置属性,并且该属性失败,然后运行安装线程组并为下一次运行填充属性。
这是你的问题。
也许您可以尝试使用rootMetricsPrefix属性中的__BeanShell函数生成名称。