k6 step-load rig: staircase scenarios, per-step/per-endpoint tagging, live Prometheus remote-write, Grafana dashboard
This commit is contained in:
86
manifests/monitoring/grafana-dashboards.yaml
Normal file
86
manifests/monitoring/grafana-dashboards.yaml
Normal file
@@ -0,0 +1,86 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: grafana-dashboard-provider
|
||||
namespace: monitoring
|
||||
data:
|
||||
dashboards.yaml: |
|
||||
apiVersion: 1
|
||||
providers:
|
||||
- name: default
|
||||
orgId: 1
|
||||
folder: ""
|
||||
type: file
|
||||
disableDeletion: false
|
||||
updateIntervalSeconds: 30
|
||||
options:
|
||||
path: /var/lib/grafana/dashboards
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: grafana-dashboards
|
||||
namespace: monitoring
|
||||
data:
|
||||
k6-step-load.json: |
|
||||
{
|
||||
"title": "k6 Step Load",
|
||||
"uid": "k6step",
|
||||
"timezone": "browser",
|
||||
"refresh": "5s",
|
||||
"time": { "from": "now-30m", "to": "now" },
|
||||
"panels": [
|
||||
{
|
||||
"id": 1, "type": "timeseries", "title": "Request rate (the staircase)",
|
||||
"gridPos": {"x": 0, "y": 0, "w": 24, "h": 8},
|
||||
"targets": [
|
||||
{"expr": "sum(rate(k6_http_reqs_total[30s]))", "legendFormat": "total rps"},
|
||||
{"expr": "sum by (name) (rate(k6_http_reqs_total[30s]))", "legendFormat": "{{name}}"}
|
||||
],
|
||||
"fieldConfig": {"defaults": {"unit": "reqps"}, "overrides": []}
|
||||
},
|
||||
{
|
||||
"id": 2, "type": "timeseries", "title": "Latency avg / p50 / p95 / p99",
|
||||
"gridPos": {"x": 0, "y": 8, "w": 12, "h": 8},
|
||||
"targets": [
|
||||
{"expr": "k6_http_req_duration_avg", "legendFormat": "avg"},
|
||||
{"expr": "k6_http_req_duration_p50", "legendFormat": "p50"},
|
||||
{"expr": "k6_http_req_duration_p95", "legendFormat": "p95"},
|
||||
{"expr": "k6_http_req_duration_p99", "legendFormat": "p99"}
|
||||
],
|
||||
"fieldConfig": {"defaults": {"unit": "ms"}, "overrides": []}
|
||||
},
|
||||
{
|
||||
"id": 3, "type": "timeseries", "title": "p95 latency per step",
|
||||
"gridPos": {"x": 12, "y": 8, "w": 12, "h": 8},
|
||||
"targets": [
|
||||
{"expr": "k6_http_req_duration_p95", "legendFormat": "{{step}}"}
|
||||
],
|
||||
"fieldConfig": {"defaults": {"unit": "ms"}, "overrides": []}
|
||||
},
|
||||
{
|
||||
"id": 4, "type": "timeseries", "title": "p95 latency per endpoint",
|
||||
"gridPos": {"x": 0, "y": 16, "w": 12, "h": 8},
|
||||
"targets": [
|
||||
{"expr": "k6_http_req_duration_p95", "legendFormat": "{{name}}"}
|
||||
],
|
||||
"fieldConfig": {"defaults": {"unit": "ms"}, "overrides": []}
|
||||
},
|
||||
{
|
||||
"id": 5, "type": "timeseries", "title": "Error rate",
|
||||
"gridPos": {"x": 12, "y": 16, "w": 12, "h": 8},
|
||||
"targets": [
|
||||
{"expr": "sum(rate(k6_http_req_failed_total[30s])) / sum(rate(k6_http_reqs_total[30s]))", "legendFormat": "error fraction"}
|
||||
],
|
||||
"fieldConfig": {"defaults": {"unit": "percentunit", "min": 0, "max": 1}, "overrides": []}
|
||||
},
|
||||
{
|
||||
"id": 6, "type": "timeseries", "title": "Active VUs",
|
||||
"gridPos": {"x": 0, "y": 24, "w": 24, "h": 6},
|
||||
"targets": [{"expr": "k6_vus", "legendFormat": "vus"}],
|
||||
"fieldConfig": {"defaults": {"unit": "short"}, "overrides": []}
|
||||
}
|
||||
],
|
||||
"schemaVersion": 39,
|
||||
"version": 1
|
||||
}
|
||||
Reference in New Issue
Block a user