Basic Usage
Simple test with OTel output
import http from "k6/http";
import { check, sleep } from "k6";
export const options = {
vus: 5,
duration: "30s",
};
export default function () {
const res = http.get("http://localhost:8080/api/products");
check(res, {
"status is 200": (r) => r.status === 200,
});
sleep(1);
}
Run:
K6_OTEL_GRPC_EXPORTER_INSECURE=true \
K6_OTEL_EXPORTER_OTLP_ENDPOINT=localhost:4317 \
./k6 run --out opentelemetry test.js
This produces:
- Metrics:
http_reqs,http_req_duration,http_req_failed,checks,vus, etc. - Traces: One
k6.iterationspan per iteration, with childHTTP GET /api/productsandcheck: status is 200spans - Baggage:
k6.test.name=k6,k6.test.vu=<id>,k6.test.iteration=<n>on each HTTP request