Learn how Continuous Load helps monitor network health proactively by running 24/7 network load across infrastructure, enabling teams to find and fix problems before users notice them.


spec:
schedule: "*/6 * * * *" # Every 6 minutes
containers:
- name: k6
image: grafana/k6
env:
- name: REQ_PER_SECOND
value: "{{ .Values.reqPerSecond }}"
- name: LOAD_TARGET_SERVICE
value: |
{{ .Values.loadTargetService | toJson }}
- name: THRESHOLDS
value: |
{{ .Values.thresholds | toJson }}
command:
["sh", "-c", "k6 run --out statsd /scripts/load.js; exit_code=$?; echo exit_code is $exit_code; exit $exit_code;"]
- name: prometheus-statsd-exporter
image: "prom/statsd-exporter:v0.20.0"
args: …
- --statsd.mapping-config=/etc/prometheus-statsd-exporter/statsd-mapping.conf
volumes:
- name: scripts-vol
configMap:
name: k6
- name: statsd-mapping-config
configMap:
name: statsd-config
items:
- key: statsd.mappingConf
path: statsd-mapping.conf
metadata:
name: continuous-load
…
data:
statsd.mappingConf: |-
defaults:
observer_type: histogram
histogram_options:
buckets: [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10]
mappings:
- match: "k6.*"
name: "k6_${1}"
- match: "k6.check.*.*.*"
name: "k6_check"
labels:
http_name: "$1"
check_name: "$2"
outcome: "$3"
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: k6-podmonitor
labels:
release: prometheus
spec:
selector:
matchLabels:
app.kubernetes.io/name: k6
podMetricsEndpoints:
- port: http
namespaceSelector:
matchNames:
- { { .Release.Namespace } }
helm repo add continuous-load https://coreeng.github.io/continuous-load/
helm repo update
helm upgrade -install --wait continuous-load \
--namespace ${namespace} \
continuous-load/continuous-load
apiVersion: grafana.integreatly.org/v1beta1
kind: GrafanaDashboard
metadata:
name: continuous-load
spec:
resyncPeriod: 5m
instanceSelector:
matchLabels:
dashboards: {{ .Values.grafanaInstanceLabel }}
json: >-
{
…
}
kubectl -n ${namespace} apply -f continuous-load-dashboard.yaml
This article is provided as a general guide for general information purposes only. It does not constitute advice. CECG disclaims liability for actions taken based on the materials.
Discover more insights from our blog collection

Explore four common mechanisms for integrating Kubernetes with HashiCorp Vault for secret management. This post compares the External Secrets Operator, Kubernetes Secrets Store CSI Driver, Vault Secrets Operator, and Vault Agent, weighing their pros and cons to help you choose the right solution for your platform.

Explore the journey of migrating a high-traffic ad decision server from Cloud Run to GKE Autopilot. This post details the performance challenges with serverless, the benefits of a VM-based solution, and why GKE Autopilot became the ideal middle ground for scalability, cost-efficiency, and manageability.

Explore the challenges and trade-offs of deploying local LLMs for sentiment analysis in a platform engineering context. This post covers resource constraints, model accuracy, observability, and the build vs. buy decision to help platform teams integrate AI-powered observability into their workflows.

Want To Talk This Through?
Build Continuous Load Testing Into Your Platform. Let's Discuss Practical Implementation.