Skip to main content


K6 check runs the k6 load testing suite and ingests the junit exported result in a container at a specified path as defined in testResults.

kind: Canary
name: k6-junit
interval: 120
- testResults: "/tmp/"
name: k6-junit
template: |
✅ {{.results.passed}} ❌ {{.results.failed}} in 🕑 {{.results.duration}}
{{ range $r := .results.suites}}
{{- if gt (conv.ToInt $r.failed) 0 }}
{{$}} ✅ {{$r.passed}} ❌ {{$r.failed}} in 🕑 {{$r.duration}}
{{- end }}
{{- end }}
- name: k6
command: ["/"]

Using the k6-junit utility to export JUnit results to the testResults folder, canary-checker will pick up the results and make then available display formating and health evaluation.
mkdir -p /tmp/junit-results
k6 -q run script.js
cp /tmp/*.xml /tmp/junit-results/
touch /tmp/junit-results/done
import { check } from "k6";
import * as http from "k6/http";
import { Rate } from "k6/metrics";
import { jUnit } from "./node_modules/k6-junit/index.js";

export const errors = new Rate("errors");

export const options = {
iterations: 20,
thresholds: {
checks: ["rate<2"],

let i = 1;

export default function() {
const res = http.get(`${i++}`);
const result = check(res, {
"is status 200": r => r.status === 201,
"not empty": r => Object.keys(r.json()).length > 0
errors.add(result ? 0 : 1);

export function handleSummary(data) {
return {
"/tmp/junit.xml": jUnit(data)

For a complete working example, see canary-checker-examples/k6

specPod specificationv1.PodSpecYes
testResultsDirectory where the results will be publishedstringYes
timeoutTimeout in minutes to wait for specified container to finish its job. Defaults to 5 minutesint
nameName of the check, must be unique within the canarystringYes
descriptionDescription for the checkstring
iconIcon for overwriting default icon on the dashboardstring
labelsLabels for checkmap[string]string
testEvaluate whether a check is healthyExpression
displayExpression to change the formatting of the displayExpression
transformTransform data from a check into multiple individual checksExpression
metricsMetrics to export from[]Metrics

Test Result Variables

See JUnit Test Results for the schema that is ingested and can be used for evaluating health or formatting the display.