Grafana显示来自Influxdb

时间:2018-06-12 19:33:17

标签: jmeter influxdb grafana

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

我的问题是,我想让用户能够根据我们为每次运行制作的标签名称来查看特定的时间范围。我能够为应用程序名称,测试和标记创建一个变量,但我似乎无法设置运行的时间范围。我如何使用" events"中的标签?在jmeter db中将"设置为" "来自" jmeter db中的数据查询次数。如果我可以拉开记录的开始和结束时间,但我无法将时间作为数据查询的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_(from / to)_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提供参数。 我尝试过使用单曲" $"并且没有尾随,单引号,变量周围的双引号,仍然无法手动设置时间过滤器。我错过了什么?

0 个答案:

没有答案