The workshop · Edition No. 37 · 1 Oct 2026

grafana/k6

Generates web traffic from JavaScript test files kept beside the code, so a load test is repeatable rather than something somebody once did on a laptop.

← The workshopRead the whole edition →

31368 stars · AGPL-3.0 · v2.3.0 (2026-09-21), confirmed by pkg.go.dev/go.k6.io/k6/v2 · Track this in Scout

Generates web traffic from JavaScript test files kept beside the code, so a load test is repeatable rather than something somebody once did on a laptop.

▶Repo detailsthe review · specs · pros & cons · install

What it is

k6 is a load-testing program written in Go, with tests written as JavaScript files. It was made by a company called Load Impact, bought by Grafana Labs, and is now part of their open-source collection.

What it is good for. Anyone about to put something in front of more people than it has seen so far. The useful output is not one number but the shape of the failure: the point where response times stop being flat, which request is the slow one, and whether the thing falls over or merely slows down. It is also the way to find out whether a change made things worse, because the test is a file you can run again next month.

Stars31368
LicenceAGPL-3.0
Latestv2.3.0 (2026-09-21), confirmed by pkg.go.dev/go.k6.io/k6/v2
Good
  • Plain AGPL-3.0, read from /blob/master/LICENSE.md and unmodified, with no directory carved out. This was checked on purpose: Grafana sells a hosted load-testing service, and this archive has found seven projects whose licence file quietly differs from what the sidebar claims. This one does not. The AGPL does carry a real obligation — if you build a service on top of it and let other people use that service, you must publish your source — but that is the standard licence, not a custom one.
  • Tests are ordinary JavaScript files you keep beside the code, so a load test is reviewable and repeatable rather than a thing somebody did once on a laptop.
  • Release v2.3.0 of 21 September 2026 added a --scenario flag, so you can run one part of a large test without editing the file, and a --once flag for a single pass. The version was confirmed against Go's own package index, which dates it 21 September 2026 and reports the licence as AGPL-3.0.
Watch for
  • The project has moved to a version 2 line and the old address is now a dead end. Go's package index still lists go.k6.io/k6 at v1.8.1, dated 12 August 2026, and says of it that it is "not in the latest version of its module". Anything pinned to the v1 path will keep working and will stop receiving anything.
  • 671 open issues against 123 open pull requests, the largest issue count in this edition.
  • A load test is easy to run and easy to misread. Running it from one machine over the open internet measures your own connection as much as the service, and pointing it at anything with real customers on it is a way to cause the outage you were trying to prevent. The recorded code date from the public mirror, 2 September 2026, is also older than the 21 September release, so the mirror is behind again on this row.
Similar repositories
  • locustio/locust

    The same job with tests written in Python rather than JavaScript, and a live web page showing the run as it happens, but it needs more machines to generate the same load.

    Track this in Scout
  • gatling/gatling

    A long-established alternative with very detailed reports, aimed at larger teams, written for the Java world and heavier to set up.

    Track this in Scout
  • rakyll/hey

    One tiny downloaded file that hammers a single web address and prints the timings, which covers the simplest case in one command and nothing beyond it.

    Track this in Scout
Install
# Debian or Ubuntu
curl -fsSL https://dl.k6.io/key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/k6-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/k6-archive-keyring.gpg] https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
sudo apt-get update
sudo apt-get install k6
# Fedora or CentOS
sudo dnf install https://dl.k6.io/rpm/repo.rpm
sudo dnf install k6
# macOS
brew install k6
# or in a container
docker pull grafana/k6
k6 run script.js
Screenshots
grafana/k6: GitHub preview card

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.