吾爱乐享
个人学习网站

性能测试之jmeter脚本监控3

1,influxDb数据库

InfluxDB 以更少的代码为分析、物联网和云原生服务构建实时应用程序。其核心是一个数据库,专门用于处理由传感器、应用程序和基础设施生成的海量数据和无数来源的时间戳数据。如果时间与您的数据相关,您需要一个时间序列数据库。

可以和jmeter监听器结合,记录jmeter压测产生的数据并存入到influxdb数据库,有对应的可视化界面展示数据,也可以结合grafana监控平台展示数据

InfluxDB 是一个时间序列数据库(TSDB), 被设计用来处理高写入、高查询负载,是 TICK 的一部分。

InfluxDB是一个用于存储和分析时间序列数据的开源数据库。

中文地址:https://jasper-zhang1.gitbooks.io/influxdb/content/

主要特性有:

  • 内置HTTP接口,使用方便
  • 数据可以打标记,这样查询可以很灵活
  • 类SQL的查询语句
  • 安装管理很简单,并且读写数据很高效
  • 能够实时查询,数据在写入时被索引后就能够被立即查出

2,安装influxDB服务

#安装2.0版本以下的,2.0版本更新比较大
docker pull influxdb:1.8
docker run --name influxdb -d -p 8083:8083  -p 8086:8086  --volume /user/admin:/var/lib/influxdb2 influxdb
#各个参数含义:
#-d:容器在后台运行
#-p:将容器内端口映射到宿主机端口,格式为 宿主机端口:容器内端口;8083是influxdb的web管理工具端口,8086是influxdb的HTTP API端口
#--name:容器名称
#--volume 数据持久化存到宿主机上
docker exec -it influxdb /bin/sh
#启动对应的数据库
influx
#创建数据库
create database jmeter;
use jmeter;
show databases;

image-20220116172034054

image-20220116150620773

3,配置jmeter监听器,后端监听器

在jmeter监听器中添加后端监听器,配置influxdb对应的参数,就可以监听到发送请求到数据存入到influxdb数据库中

名称 说明 备注
后端监听器实现 选择influxdbbackendlistenerclient
influxdburl 数据库的连接地址,后面db=jmeter就是创建的数据库名称
application 应用的名字,自定义一个即可 会在grafana展示的时候显示的名字
measurement 默认jmeter即可 这个值会在grafana配置influxdb时保持一致
testTitle 测试的标题,自定义一个

image-20220116190426894

4,配置grafana可视化工具

grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。它主要有以下六大特点:

1、展示方式:快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式;

2、数据源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;

3、通知提醒:以可视方式定义最重要指标的警报规则,Grafana将不断计算并发送通知,在数据达到阈值时通过Slack、PagerDuty等获得通知;

4、混合展示:在同一图表中混合使用不同的数据源,可以基于每个查询指定数据源,甚至自定义数据源;

5、注释:使用来自不同数据源的丰富事件注释图表,将鼠标悬停在事件上会显示完整的事件元数据和标记;

6、过滤器:Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。

docker pull grafana/grafana
docker run -d -it -p 3000:3000 --name grafana grafana/grafana
#打开地址:
http://localhost:3000/
#账号密码都是admin

image-20220116193419052

1,登陆成功后点击add your first data source

image-20220116195803223

2,选择influxdb添加image-20220116195933915

3,添加influxdb对应的参数

名称 说明 备注
url 添加对应的influxdb的URL http://localhost:8086
access 选择browser
database 输入jmeter 就是在influxdb上创建的那个数据库

添加后点击保存

image-20220116200228496

4,导入或添加对应的dashboard模版

通过导入模版的json或着复制对应json里面的内容粘贴上去

对应的json模版地址:https://download.csdn.net/download/llh304/76145108

image-20220116200738955

image-20220116200857971

image-20220116201452071

5,配置完成后执行jmeter脚本

image-20220116202942829

image-20220116205838397
采集的数据会和实际数据有一定的误差,采集数据会根据一定的规则算法进行采集

json
{
"__inputs": [
{
"name": "JMETER_DASHBOARD",
"label": "DB name",
"description": "Create a Datasource in Grafana that points to jmeter database",
"type": "datasource",
"pluginId": "influxdb",
"pluginName": "InfluxDB"
},
{
"name": "VAR_MEASUREMENT_NAME",
"type": "constant",
"label": "Measurement name",
"value": "jmeter",
"description": "InfluxDB measurement name"
},
{
"name": "VAR_SEND_INTERVAL",
"type": "constant",
"label": "Backend send interval",
"value": "5",
"description": "in second, should match JMeter property \"backend_influxdb.send_interval\""
}
],
"__requires": [
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
"version": "4.6.2"
},
{
"type": "datasource",
"id": "influxdb",
"name": "InfluxDB",
"version": "1.4.0"
},
{
"type": "panel",
"id": "graph",
"name": "Graph",
"version": ""
},
{
"type": "panel",
"id": "singlestat",
"name": "Singlestat",
"version": ""
},
{
"type": "panel",
"id": "table",
"name": "Table",
"version": ""
}
],
"annotations": {
"list": [
{
"$$hashKey": "object:4298",
"builtIn": 1,
"datasource": "$data_source",
"enable": true,
"hide": false,
"iconColor": "rgba(0, 211, 255, 1)",
"limit": 100,
"name": "Start/stop marker",
"query": "select text from events where $timeFilter",
"showIn": 0,
"textColumn": "",
"type": "dashboard"
}
]
},
"description": "Monitor your Apache JMeter load test in real time with InfluxDB and Grafana.\r\nGet overall summary, errors details and particular transaction response times.",
"editable": true,
"gnetId": 5496,
"graphTooltip": 0,
"id": 5,
"iteration": 1523369228272,
"links": [],
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 33,
"panels": [],
"repeat": null,
"title": "Summary",
"type": "row"
},
{
"cacheTimeout": null,
"colorBackground": false,
"colorValue": true,
"colors": [
"#299c46",
"#e5ac0e",
"#d44a3a"
],
"datasource": "$data_source",
"decimals": 0,
"format": "none",
"gauge": {
"maxValue": 100,
"minValue": 0,
"show": false,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"h": 7,
"w": 4,
"x": 0,
"y": 1
},
"height": "",
"id": 26,
"interval": "[[send_interval]]s",
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"postfix": " Requests",
"postfixFontSize": "50%",
"prefix": "",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": false,
"lineColor": "#e5ac0e",
"show": false
},
"tableColumn": "",
"targets": [
{
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT sum(\"count\") FROM \"$measurement_name\" WHERE (\"application\" =~ /^$application$/ AND \"transaction\" = 'all') AND $timeFilter GROUP BY time($__interval) fill(null)",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
}
],
"thresholds": "",
"title": "Total Requests",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [
{
"op": "=",
"text": "0",
"value": "null"
}
],
"valueName": "total"
},
{
"cacheTimeout": null,
"colorBackground": false,
"colorValue": true,
"colors": [
"#299c46",
"#e24d42",
"#d44a3a"
],
"datasource": "$data_source",
"decimals": 0,
"format": "none",
"gauge": {
"maxValue": 100,
"minValue": 0,
"show": false,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"h": 7,
"w": 4,
"x": 4,
"y": 1
},
"height": "",
"id": 28,
"interval": "[[send_interval]]s",
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"postfix": " Failed",
"postfixFontSize": "50%",
"prefix": "",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": false,
"lineColor": "#bf1b00",
"show": false
},
"tableColumn": "",
"targets": [
{
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT sum(\"countError\") FROM \"$measurement_name\" WHERE (\"transaction\" = 'all' AND \"application\" =~ /^$application$/) AND $timeFilter GROUP BY time($__interval) fill(null)",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
}
],
"thresholds": "",
"title": "Failed Requests",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [
{
"op": "=",
"text": "0",
"value": "null"
}
],
"valueName": "total"
},
{
"cacheTimeout": null,
"colorBackground": false,
"colorValue": true,
"colors": [
"#299c46",
"#e24d42",
"#d44a3a"
],
"datasource": "$data_source",
"decimals": 0,
"format": "bytes",
"gauge": {
"maxValue": 100,
"minValue": 0,
"show": false,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"h": 7,
"w": 4,
"x": 8,
"y": 1
},
"height": "",
"id": 38,
"interval": "[[send_interval]]s",
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"postfix": " ",
"postfixFontSize": "50%",
"prefix": "",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": false,
"lineColor": "#bf1b00",
"show": false
},
"tableColumn": "",
"targets": [
{
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT sum(\"rb\") FROM \"$measurement_name\" WHERE (\"transaction\" = 'all' AND \"application\" =~ /^$application$/) AND $timeFilter ",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
}
],
"thresholds": "",
"title": "Received Bytes",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [
{
"op": "=",
"text": "0",
"value": "null"
}
],
"valueName": "total"
},
{
"cacheTimeout": null,
"colorBackground": false,
"colorValue": true,
"colors": [
"#299c46",
"#e24d42",
"#d44a3a"
],
"datasource": "$data_source",
"decimals": 0,
"format": "bytes",
"gauge": {
"maxValue": 100,
"minValue": 0,
"show": false,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"h": 7,
"w": 4,
"x": 12,
"y": 1
},
"height": "",
"id": 37,
"interval": "[[send_interval]]s",
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"postfix": " ",
"postfixFontSize": "50%",
"prefix": "",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": false,
"lineColor": "#bf1b00",
"show": false
},
"tableColumn": "",
"targets": [
{
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT max(\"sb\") FROM \"$measurement_name\" WHERE (\"transaction\" = 'all' AND \"application\" =~ /^$application$/) AND $timeFilter GROUP BY time($__interval) fill(null)",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
}
],
"thresholds": "",
"title": "Sent Bytes",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [
{
"op": "=",
"text": "0",
"value": "null"
}
],
"valueName": "total"
},
{
"cacheTimeout": null,
"colorBackground": false,
"colorValue": true,
"colors": [
"#299c46",
"#ef843c",
"#e24d42"
],
"datasource": "$data_source",
"decimals": 2,
"format": "percentunit",
"gauge": {
"maxValue": 1,
"minValue": 0,
"show": true,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"h": 7,
"w": 8,
"x": 16,
"y": 1
},
"id": 29,
"interval": "[[send_interval]]s",
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"postfix": "",
"postfixFontSize": "50%",
"prefix": "",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": false,
"lineColor": "rgb(31, 120, 193)",
"show": false
},
"tableColumn": "",
"targets": [
{
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT sum(\"error\") / sum(\"all\") FROM (SELECT sum(\"count\") AS \"all\" FROM \"$measurement_name\" WHERE \"transaction\" = 'all' AND \"application\" =~ /^$application$/ AND $timeFilter GROUP BY time($__interval) fill(null)), (SELECT sum(\"countError\") AS \"error\" FROM \"$measurement_name\" WHERE \"transaction\" = 'all' AND \"application\" =~ /^$application$/ AND $timeFilter GROUP BY time($__interval) fill(null))",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
}
],
"thresholds": "0,0.01",
"title": "Error Rate %",
"type": "singlestat",
"valueFontSize": "50%",
"valueMaps": [
{
"op": "=",
"text": "0",
"value": "null"
}
],
"valueName": "total"
},
{
"aliasColors": {
"No of Errors": "#6ED0E0",
"Req / s": "#6ed0e0",
"Req / sec": "#65c5db"
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "$data_source",
"decimals": 2,
"editable": true,
"error": false,
"fill": 7,
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 8
},
"id": 4,
"interval": "[[send_interval]]s",
"legend": {
"alignAsTable": true,
"avg": true,
"current": false,
"max": true,
"min": true,
"rightSide": false,
"show": true,
"sort": null,
"sortDesc": null,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 1,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "Req / s",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
}
],
"measurement": "jmeter",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT mean(\"count\") / $send_interval FROM \"$measurement_name\" WHERE (\"transaction\" = 'all' AND \"application\" =~ /^$application$/) AND $timeFilter GROUP BY time($__interval) fill(null)",
"rawQuery": true,
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"count"
],
"type": "field"
},
{
"params": [],
"type": "last"
}
]
],
"tags": [
{
"key": "transaction",
"operator": "=",
"value": "all"
},
{
"condition": "AND",
"key": "application",
"operator": "=~",
"value": "/^$application$/"
}
]
}
],
"thresholds": [],
"timeFrom": null,
"timeShift": null,
"title": "Total Throughput",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
]
},
{
"aliasColors": {
"No of Errors": "#BF1B00",
"Num of Errors": "#bf1b00"
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "$data_source",
"decimals": 0,
"editable": true,
"error": false,
"fill": 7,
"gridPos": {
"h": 7,
"w": 8,
"x": 8,
"y": 8
},
"id": 2,
"interval": "[[send_interval]]s",
"legend": {
"alignAsTable": true,
"avg": false,
"current": false,
"max": false,
"min": false,
"rightSide": false,
"show": true,
"total": true,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 1,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "Num of Errors",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$aggregation"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "jmeter",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT sum(\"countError\") FROM \"$measurement_name\" WHERE (\"transaction\" = 'all' AND \"application\" =~ /^$application$/) AND $timeFilter GROUP BY time($__interval) fill(null)",
"rawQuery": true,
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"countError"
],
"type": "field"
},
{
"params": [],
"type": "sum"
}
]
],
"tags": [
{
"key": "transaction",
"operator": "=",
"value": "all"
},
{
"condition": "AND",
"key": "application",
"operator": "=~",
"value": "/^$application$/"
}
]
}
],
"thresholds": [],
"timeFrom": null,
"timeShift": null,
"title": "Total Errors",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"decimals": 0,
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
]
},
{
"aliasColors": {
"Threads": "#614d93",
"threads": "#614d93"
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "$data_source",
"decimals": 0,
"fill": 7,
"gridPos": {
"h": 7,
"w": 8,
"x": 16,
"y": 8
},
"id": 31,
"interval": "[[send_interval]]s",
"legend": {
"alignAsTable": true,
"avg": false,
"current": true,
"max": false,
"min": false,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "Threads",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT last(\"maxAT\") FROM \"$measurement_name\" WHERE (\"transaction\" = 'internal' AND \"application\" =~ /^$application$/) AND $timeFilter GROUP BY time($__interval) fill(null)",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
}
],
"thresholds": [],
"timeFrom": null,
"timeShift": null,
"title": "Active Threads",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"decimals": 0,
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
]
},
{
"aliasColors": {
"banner": "#508642"
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "$data_source",
"decimals": 2,
"editable": true,
"error": false,
"fill": 1,
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 15
},
"height": "",
"id": 23,
"interval": "[[send_interval]]s",
"legend": {
"alignAsTable": true,
"avg": true,
"current": false,
"hideEmpty": false,
"hideZero": false,
"max": true,
"min": false,
"rightSide": true,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 1,
"points": false,
"renderer": "flot",
"repeat": null,
"repeatDirection": "h",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "$tag_transaction",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"transaction"
],
"type": "tag"
}
],
"measurement": "jmeter",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT mean(\"pct95.0\") FROM \"$measurement_name\" WHERE (\"application\" =~ /^$application$/) AND $timeFilter GROUP BY \"transaction\", time($__interval) fill(null)",
"rawQuery": true,
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"pct95.0"
],
"type": "field"
}
]
],
"tags": [
{
"key": "statut",
"operator": "=",
"value": "ok"
},
{
"condition": "AND",
"key": "application",
"operator": "=~",
"value": "/^$application$/"
}
]
}
],
"thresholds": [
{
"colorMode": "ok",
"fill": true,
"line": true,
"op": "lt",
"value": 500
},
{
"colorMode": "warning",
"fill": false,
"line": true,
"op": "gt",
"value": 1500
},
{
"colorMode": "critical",
"fill": true,
"line": true,
"op": "gt",
"value": 5000
}
],
"timeFrom": null,
"timeShift": null,
"title": "Transactions Response Times (95th pct)",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "individual"
},
"transparent": false,
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "ms",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
]
},
{
"aliasColors": {
"banner": "#508642"
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "$data_source",
"decimals": 2,
"editable": true,
"error": false,
"fill": 1,
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 22
},
"height": "",
"id": 36,
"interval": "[[send_interval]]s",
"legend": {
"alignAsTable": true,
"avg": true,
"current": false,
"hideEmpty": false,
"hideZero": false,
"max": true,
"min": false,
"rightSide": true,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 1,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "$tag_transaction",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT mean(\"sb\") FROM \"$measurement_name\" WHERE (\"application\" =~ /^$application$/) AND $timeFilter GROUP BY \"transaction\", time($__interval) fill(null)",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"sb"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
},
{
"alias": "$tag_transaction",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT mean(\"rb\") FROM \"$measurement_name\" WHERE (\"application\" =~ /^$application$/) AND $timeFilter GROUP BY \"transaction\", time($__interval) fill(null)",
"rawQuery": true,
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
}
],
"thresholds": [
{
"colorMode": "ok",
"fill": true,
"line": true,
"op": "lt",
"value": 500
},
{
"colorMode": "warning",
"fill": false,
"line": true,
"op": "gt",
"value": 1500
},
{
"colorMode": "critical",
"fill": true,
"line": true,
"op": "gt",
"value": 5000
}
],
"timeFrom": null,
"timeShift": null,
"title": "Network Traffic",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "individual"
},
"transparent": false,
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "bytes",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
]
},
{
"collapsed": true,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 29
},
"id": 34,
"panels": [
{
"columns": [],
"datasource": "$data_source",
"fontSize": "100%",
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 2
},
"height": "",
"id": 25,
"interval": "[[send_interval]]s",
"links": [],
"pageSize": null,
"scroll": true,
"showHeader": true,
"sort": {
"col": 2,
"desc": true
},
"styles": [
{
"alias": "Time",
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"pattern": "Time",
"type": "hidden"
},
{
"alias": "",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"decimals": 0,
"pattern": "/.*/",
"thresholds": [],
"type": "number",
"unit": "short"
}
],
"targets": [
{
"alias": "$tag_transaction",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"transaction"
],
"type": "tag"
}
],
"measurement": "jmeter",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT sum(\"count\") FROM \"$measurement_name\" WHERE (\"application\" =~ /^$application$/ AND \"statut\" = 'ko') AND $timeFilter GROUP BY \"transaction\"",
"rawQuery": true,
"refId": "A",
"resultFormat": "table",
"select": [
[
{
"params": [
"count"
],
"type": "field"
},
{
"params": [],
"type": "sum"
}
]
],
"tags": [
{
"key": "application",
"operator": "=~",
"value": "/^$application$/"
},
{
"condition": "AND",
"key": "statut",
"operator": "=",
"value": "ko"
}
]
}
],
"title": "Errors per Transaction",
"transform": "table",
"type": "table"
},
{
"columns": [],
"datasource": "$data_source",
"fontSize": "100%",
"gridPos": {
"h": 7,
"w": 16,
"x": 8,
"y": 2
},
"id": 27,
"interval": "[[send_interval]]s",
"links": [],
"pageSize": null,
"scroll": true,
"showHeader": true,
"sort": {
"col": 0,
"desc": true
},
"styles": [
{
"alias": "Time",
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"pattern": "Time",
"type": "hidden"
},
{
"alias": "",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"decimals": 0,
"pattern": "/.*/",
"thresholds": [],
"type": "number",
"unit": "short"
}
],
"targets": [
{
"alias": "$tag_responseCode",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"responseCode"
],
"type": "tag"
}
],
"measurement": "jmeter",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT sum(\"count\") FROM \"$measurement_name\" WHERE (\"application\" =~ /^$application$/ AND \"responseCode\" !~ /^$/) AND $timeFilter GROUP BY \"responseCode\",\"responseMessage\"",
"rawQuery": true,
"refId": "A",
"resultFormat": "table",
"select": [
[
{
"params": [
"count"
],
"type": "field"
}
],
[
{
"params": [
"responseMessage"
],
"type": "field"
}
]
],
"tags": [
{
"key": "application",
"operator": "=~",
"value": "/^$application$/"
},
{
"condition": "AND",
"key": "responseCode",
"operator": "!~",
"value": "/^$/"
}
]
}
],
"title": "Error Info",
"transform": "table",
"type": "table"
}
],
"repeat": null,
"title": "Errors",
"type": "row"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 30
},
"id": 35,
"panels": [],
"repeat": null,
"title": "Individual Transaction - $transaction",
"type": "row"
},
{
"cacheTimeout": null,
"colorBackground": false,
"colorValue": true,
"colors": [
"rgba(245, 54, 54, 0.9)",
"#e5ac0e",
"rgba(50, 172, 45, 0.97)"
],
"datasource": "$data_source",
"decimals": 0,
"editable": true,
"error": false,
"format": "none",
"gauge": {
"maxValue": 100,
"minValue": 0,
"show": false,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 31
},
"id": 9,
"interval": "[[send_interval]]s",
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"postfix": " Requests",
"postfixFontSize": "50%",
"prefix": "",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": false,
"lineColor": "#e5ac0e",
"show": false
},
"tableColumn": "",
"targets": [
{
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "jmeter",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT sum(\"count\") FROM \"$measurement_name\" WHERE (\"application\" =~ /^$application$/ AND \"transaction\" =~ /^$transaction$/ AND \"statut\" = 'all') AND $timeFilter GROUP BY time($__interval) fill(null)",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"count"
],
"type": "field"
},
{
"params": [],
"type": "sum"
}
]
],
"tags": [
{
"key": "transaction",
"operator": "=~",
"value": "/^$transaction$/"
},
{
"condition": "AND",
"key": "statut",
"operator": "=",
"value": "all"
}
]
}
],
"thresholds": "",
"title": "Total Requests - $transaction",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [
{
"op": "=",
"text": "0",
"value": "null"
}
],
"valueName": "total"
},
{
"cacheTimeout": null,
"colorBackground": false,
"colorValue": true,
"colors": [
"rgba(245, 54, 54, 0.9)",
"#e24d42",
"rgba(50, 172, 45, 0.97)"
],
"datasource": "$data_source",
"decimals": 0,
"editable": true,
"error": false,
"format": "none",
"gauge": {
"maxValue": 100,
"minValue": 0,
"show": false,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"h": 7,
"w": 8,
"x": 8,
"y": 31
},
"id": 6,
"interval": "[[send_interval]]s",
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"postfix": " Failed",
"postfixFontSize": "50%",
"prefix": "",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": false,
"lineColor": "#e24d42",
"show": false
},
"tableColumn": "",
"targets": [
{
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "jmeter",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT sum(\"count\") FROM \"$measurement_name\" WHERE (\"application\" =~ /^$application$/ AND \"transaction\" =~ /^$transaction$/ AND \"statut\" = 'ko') AND $timeFilter GROUP BY time($__interval) fill(null)",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"count"
],
"type": "field"
},
{
"params": [],
"type": "sum"
}
]
],
"tags": [
{
"key": "transaction",
"operator": "=~",
"value": "/^$transaction$/"
},
{
"condition": "AND",
"key": "statut",
"operator": "=",
"value": "ko"
}
]
}
],
"thresholds": "",
"title": "Failed Requests - $transaction",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [
{
"op": "=",
"text": "0",
"value": "null"
}
],
"valueName": "total"
},
{
"cacheTimeout": null,
"colorBackground": false,
"colorValue": true,
"colors": [
"rgba(50, 172, 45, 0.97)",
"#e5ac0e",
"#e24d42"
],
"datasource": "$data_source",
"decimals": 2,
"editable": true,
"error": false,
"format": "percentunit",
"gauge": {
"maxValue": 1,
"minValue": 0,
"show": true,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"h": 7,
"w": 8,
"x": 16,
"y": 31
},
"id": 8,
"interval": "[[send_interval]]s",
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"postfix": "",
"postfixFontSize": "50%",
"prefix": "",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": false,
"lineColor": "rgb(14, 237, 45)",
"show": false
},
"tableColumn": "",
"targets": [
{
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "jmeter",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT sum(\"error\") / sum(\"all\") FROM (SELECT sum(\"count\") AS \"all\" FROM \"$measurement_name\" WHERE \"transaction\" =~ /^$transaction$/ AND \"statut\" = 'all' AND \"application\" =~ /^$application$/ AND $timeFilter GROUP BY time($__interval) fill(null)), (SELECT sum(\"count\") AS \"error\" FROM \"$measurement_name\" WHERE \"transaction\" =~ /^$transaction$/ AND \"statut\" = 'ko' AND \"application\" =~ /^$application$/ AND $timeFilter GROUP BY time($__interval) fill(null))",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"count"
],
"type": "field"
},
{
"params": [],
"type": "sum"
}
]
],
"tags": [
{
"key": "transaction",
"operator": "=~",
"value": "/^$transaction$/"
},
{
"condition": "AND",
"key": "statut",
"operator": "=",
"value": "ok"
}
]
}
],
"thresholds": "0,0.01",
"title": "Error Rate % - $transaction",
"type": "singlestat",
"valueFontSize": "50%",
"valueMaps": [
{
"op": "=",
"text": "0",
"value": "null"
}
],
"valueName": "total"
},
{
"aliasColors": {
"90th Percentage": "#EAB839",
"95th Percentage": "#EF843C",
"99th Percentage": "#99440A",
"Average": "#3F6833",
"Max": "#58140C",
"Req / s": "#6ed0e0"
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "$data_source",
"decimals": 2,
"editable": true,
"error": false,
"fill": 7,
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 38
},
"height": "",
"id": 10,
"interval": "[[send_interval]]s",
"legend": {
"alignAsTable": true,
"avg": true,
"current": false,
"max": true,
"min": true,
"rightSide": false,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 1,
"points": false,
"renderer": "flot",
"seriesOverrides": [
{
"alias": "Average",
"yaxis": 1
}
],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "Req / s",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
}
],
"measurement": "jmeter",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT last(\"count\") / $send_interval FROM \"$measurement_name\" WHERE (\"transaction\" =~ /^$transaction$/ AND \"statut\" = 'ok') AND $timeFilter GROUP BY time($__interval)",
"rawQuery": true,
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"count"
],
"type": "field"
},
{
"params": [],
"type": "sum"
},
{
"params": [
"5s"
],
"type": "non_negative_derivative"
}
]
],
"tags": [
{
"key": "transaction",
"operator": "=~",
"value": "/^$transaction$/"
},
{
"condition": "AND",
"key": "statut",
"operator": "=",
"value": "ok"
}
]
}
],
"thresholds": [],
"timeFrom": null,
"timeShift": null,
"title": "Throughput - $transaction",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
]
},
{
"aliasColors": {
"Num of Errors": "#bf1b00",
"num of errors": "#bf1b00"
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "$data_source",
"decimals": 0,
"fill": 7,
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 38
},
"id": 32,
"interval": "[[send_interval]]s",
"legend": {
"alignAsTable": true,
"avg": false,
"current": false,
"max": false,
"min": false,
"rightSide": false,
"show": true,
"total": true,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 1,
"points": true,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "Num of Errors",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT sum(\"count\") FROM \"$measurement_name\" WHERE \"application\" =~ /^$application$/ AND \"transaction\" =~ /^$transaction$/ AND \"statut\" = 'ko' AND $timeFilter GROUP BY time($__interval) fill(null)",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
}
],
"thresholds": [],
"timeFrom": null,
"timeShift": null,
"title": "Errors",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": 1,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"decimals": 0,
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
]
},
{
"aliasColors": {
"90th Percentage": "#f2c96d",
"95th Percentage": "#EF843C",
"99th Percentage": "#bf1b00",
"Average": "#7eb26d",
"Max": "#584477",
"Median": "#6ed0e0",
"median": "#6ed0e0"
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "$data_source",
"decimals": 2,
"editable": true,
"error": false,
"fill": 1,
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 45
},
"height": "",
"id": 5,
"interval": "[[send_interval]]s",
"legend": {
"alignAsTable": true,
"avg": true,
"current": false,
"hideEmpty": true,
"max": true,
"min": false,
"rightSide": true,
"show": true,
"sortDesc": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 1,
"points": false,
"renderer": "flot",
"seriesOverrides": [
{
"alias": "Average",
"yaxis": 1
}
],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "Average",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$aggregation"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "jmeter",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT last(\"avg\") FROM \"$measurement_name\" WHERE (\"transaction\" =~ /^$transaction$/ AND \"statut\" = 'ok') AND $timeFilter GROUP BY time($__interval)",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"avg"
],
"type": "field"
},
{
"params": [],
"type": "last"
}
]
],
"tags": [
{
"key": "transaction",
"operator": "=~",
"value": "/^$request$/"
},
{
"condition": "AND",
"key": "statut",
"operator": "=",
"value": "ok"
}
]
},
{
"alias": "Median",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$aggregation"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"hide": false,
"measurement": "jmeter",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT last(\"pct50.0\") FROM \"$measurement_name\" WHERE (\"transaction\" =~ /^$transaction$/ AND \"statut\" = 'ok') AND $timeFilter GROUP BY time($__interval)",
"rawQuery": true,
"refId": "F",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"pct50.0"
],
"type": "field"
},
{
"params": [],
"type": "last"
}
]
],
"tags": [
{
"key": "transaction",
"operator": "=~",
"value": "/^$request$/"
},
{
"condition": "AND",
"key": "statut",
"operator": "=",
"value": "all"
}
]
},
{
"alias": "90th Percentile",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$aggregation"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "jmeter",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT last(\"pct90.0\") FROM \"$measurement_name\" WHERE (\"transaction\" =~ /^$transaction$/ AND \"statut\" = 'ok') AND $timeFilter GROUP BY time($__interval) fill(null)",
"rawQuery": true,
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"pct90.0"
],
"type": "field"
},
{
"params": [],
"type": "last"
}
]
],
"tags": [
{
"key": "transaction",
"operator": "=~",
"value": "/^$request$/"
},
{
"condition": "AND",
"key": "statut",
"operator": "=",
"value": "all"
}
]
},
{
"alias": "95th Percentile",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$aggregation"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"hide": false,
"measurement": "jmeter",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT last(\"pct95.0\") FROM \"$measurement_name\" WHERE (\"transaction\" =~ /^$transaction$/ AND \"statut\" = 'ok') AND $timeFilter GROUP BY time($__interval) fill(null)",
"rawQuery": true,
"refId": "C",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"pct95.0"
],
"type": "field"
},
{
"params": [],
"type": "last"
}
]
],
"tags": [
{
"key": "transaction",
"operator": "=~",
"value": "/^$request$/"
}
]
},
{
"alias": "99th Percentile",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$aggregation"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"hide": false,
"measurement": "jmeter",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT last(\"pct99.0\") FROM \"$measurement_name\" WHERE (\"transaction\" =~ /^$transaction$/ AND \"statut\" = 'ok') AND $timeFilter GROUP BY time($__interval) fill(null)",
"rawQuery": true,
"refId": "D",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"pct99.0"
],
"type": "field"
},
{
"params": [],
"type": "last"
}
]
],
"tags": [
{
"key": "transaction",
"operator": "=~",
"value": "/^$request$/"
}
]
},
{
"alias": "Max",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$aggregation"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "jmeter",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT last(\"max\") FROM \"$measurement_name\" WHERE (\"transaction\" =~ /^$transaction$/ AND \"statut\" = 'ok') AND $timeFilter GROUP BY time($__interval) fill(null)",
"rawQuery": true,
"refId": "E",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"max"
],
"type": "field"
},
{
"params": [],
"type": "last"
}
]
],
"tags": [
{
"key": "transaction",
"operator": "=~",
"value": "/^$request$/"
},
{
"condition": "AND",
"key": "statut",
"operator": "=",
"value": "ok"
}
]
}
],
"thresholds": [
{
"colorMode": "ok",
"fill": true,
"line": true,
"op": "lt",
"value": 500
},
{
"colorMode": "warning",
"fill": false,
"line": true,
"op": "gt",
"value": 1500
},
{
"colorMode": "critical",
"fill": true,
"line": true,
"op": "gt",
"value": 5000
}
],
"timeFrom": null,
"timeShift": null,
"title": "Response Times - $transaction",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "ms",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
]
}
],
"refresh": false,
"schemaVersion": 16,
"style": "dark",
"tags": [
"load_test"
],
"templating": {
"list": [
{
"current": {
"text": "jmeter_influx",
"value": "jmeter_influx"
},
"hide": 0,
"label": "",
"name": "data_source",
"options": [],
"query": "influxdb",
"refresh": 1,
"regex": "",
"type": "datasource"
},
{
"allValue": null,
"current": {
"text": "JMeter_demo",
"value": "JMeter_demo"
},
"datasource": "$data_source",
"hide": 0,
"includeAll": false,
"label": "",
"multi": false,
"name": "application",
"options": [],
"query": "SHOW TAG VALUES FROM \"jmeter\" WITH KEY = \"application\"",
"refresh": 1,
"regex": "",
"sort": 0,
"tagValuesQuery": null,
"tags": [],
"tagsQuery": null,
"type": "query",
"useTags": false
},
{
"allValue": null,
"current": {
"text": "JR_OK",
"value": "JR_OK"
},
"datasource": "$data_source",
"hide": 0,
"includeAll": false,
"label": "",
"multi": false,
"name": "transaction",
"options": [],
"query": "SHOW TAG VALUES FROM \"jmeter\" WITH KEY = \"transaction\" WHERE \"application\" =~ /^$application$/ AND \"transaction\" != 'internal' AND \"transaction\" != 'all'",
"refresh": 1,
"regex": "",
"sort": 0,
"tagValuesQuery": null,
"tags": [],
"tagsQuery": null,
"type": "query",
"useTags": false
},
{
"current": {
"text": "jmeter",
"value": "jmeter"
},
"hide": 2,
"label": "Measurement name",
"name": "measurement_name",
"options": [
{
"text": "jmeter",
"value": "jmeter"
}
],
"query": "jmeter",
"type": "constant"
},
{
"current": {
"text": "5",
"value": "5"
},
"hide": 2,
"label": "Backend send interval in second",
"name": "send_interval",
"options": [
{
"text": "5",
"value": "5"
}
],
"query": "5",
"type": "constant"
}
]
},
"time": {
"from": "now-5m",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
]
},
"timezone": "browser",
"title": "JMeter Dashboard",
"version": 4
}

本文永久更新地址:

https://www.fenxiangbe.com/p/性能测试之jmeter脚本监控3.html

赞(0) 打赏
未经允许不得转载:吾爱乐享 » 性能测试之jmeter脚本监控3

评论 抢沙发

评论前必须登录!

 

推荐免费资源共享,个人经验总结学习

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏