使用Grafana 5.1.3,Jmeter 4.0和Influx 1.5,我能够在Influxdb中运行没有问题并存储数据的测试 . 我现在要做的是显示这些数据,并让用户能够根据测试名称或测试标签选择性能运行 . 使用内置的涌入后端监听器,我可以在Influxdb中看到标签和测试名称 .

我的问题是,我想让用户能够根据我们为每次运行制作的标签名称来查看特定的时间范围 . 我能够为应用程序名称,测试和标记创建一个变量,但我似乎无法设置运行的时间范围 . 如何使用jmeter db中“events”的标签来设置jmeter db中数据查询的“to”和“from”次数 . 如果我可以拉开记录的开始和结束时间,但我无法将时间作为数据查询的where子句中的约束提供给查询 . 还有另外一种方法吗?

我现在有这些拉动时间:

Select * FROM "events" WHERE "application" =~ /^$application$/ AND "text" =~ /started/ AND "tags" =~ /$test_tags$/ limit 1
Select * FROM "events" WHERE "application" =~ /^$application$/ AND "text" =~ /ended/ AND "tags" =~ /$test_tags$/ limit 1

它们分别设置为变量$ tag_from_time和$ tag_to_time,根据Grafana中的预览,它们看起来就像我需要的那样 .

然后我尝试使用以下设置$ timeFilter变量:

SELECT mean("pct95.0") FROM "$measurement_name" WHERE ("statut" = 'ok' AND "application" =~ /^$application$/) AND $timeFilter($tag_from_time$,$tag_to_time$) GROUP BY "transaction", time($__interval) fill(null)

这在Grafana中遇到了一个解析错误,“发现(,预计;在第1行char 146我也试图在Grafana中使用完整的$ timeFrom和$ timeTo变量,但他们不会接受我的变量$ tag_(从/到) _time使用以下语法:

SELECT mean("pct95.0") FROM "$measurement_name" WHERE ("statut" = 'ok' AND "application" =~ /^$application$/) AND $timeFrom($tag_from_time$) AND $timeTo($tag_to_time$) GROUP BY "transaction", time($__interval) fill(null)

这些抱怨没有为$ timeFrom提供参数 . 我试过单个“$”并没有尾随,单引号,变量周围的双引号,但我仍然无法手动设置时间过滤器 . 我错过了什么?