# grafana/k6

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/grafana-k6).**

30,805 stars · 1,561 forks · Go · AGPL-3.0

## Links

- GitHub: https://github.com/grafana/k6
- Homepage: https://grafana.com/oss/k6/
- awesome-repositories: https://awesome-repositories.com/repository/grafana-k6.md

## Topics

`es6` `go` `golang` `hacktoberfest` `javascript` `k6` `load-generator` `load-testing` `performance`

## Description

k6 is a performance testing framework used to measure the scalability and stability of network services and APIs. It functions as a JavaScript load testing tool that uses a Go engine to simulate concurrent user traffic.

The tool enables the enforcement of service level objectives by comparing response time percentiles against quantitative performance thresholds. It also operates as a performance regression tool for continuous integration pipelines and a browser performance testing tool that executes scripts within a bundled headless browser instance.

Its capabilities cover workload scenario modeling using open and closed models, user traffic simulation via virtual users, and the validation of response accuracy. The framework also supports custom protocol extensions and the export of performance metrics after a test run.

The engine supports containerized test execution for consistent behavior across different deployment environments.

## Tags

### Testing & Quality Assurance

- [API Testing](https://awesome-repositories.com/f/testing-quality-assurance/api-network-testing/api-testing.md) — Simulates concurrent user traffic to measure the scalability and stability of network services and APIs.
- [Load Testing Tools](https://awesome-repositories.com/f/testing-quality-assurance/performance-testing-analysis/performance-testing/load-testing-tools.md) — Provides a performance testing tool that uses JavaScript scripting and a Go engine to simulate concurrent user traffic.
- [Performance Analysis](https://awesome-repositories.com/f/testing-quality-assurance/performance-testing-analysis/performance-analysis.md) — Measures scalability and stability by analyzing performance data from simulated concurrent user traffic against APIs. ([source](https://github.com/grafana/k6/blob/master/go.mod))
- [Performance Testing Frameworks](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/performance-testing-frameworks.md) — Implements a comprehensive framework for measuring system scalability and stability via scripted network requests against APIs.
- [Virtual User Simulation](https://awesome-repositories.com/f/testing-quality-assurance/virtual-user-simulation.md) — Simulates concurrent user traffic by spawning independent execution loops for scripted scenarios.
- [Workload Modeling](https://awesome-repositories.com/f/testing-quality-assurance/workload-modeling.md) — Supports workload scenario modeling using both open and closed traffic generation models.
- [Performance Goal Definitions](https://awesome-repositories.com/f/testing-quality-assurance/performance-testing-analysis/performance-testing/performance-goal-definitions.md) — Allows users to set specific service level objectives to automatically determine if a performance run passed or failed. ([source](https://github.com/grafana/k6#readme))
- [Headless Browser Controllers](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/browser-and-ui-testing/browser-automation-frameworks/headless-browser-controllers.md) — Provides a bundled headless browser controller to measure performance for frontend user workflows.
- [Browser Performance Testing](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/browser-and-ui-testing/browser-automation-frameworks/headless-browser-controllers/browser-performance-testing.md) — Measures real user interaction performance by executing scripted workflows within a bundled headless browser instance. ([source](https://github.com/grafana/k6/blob/master/Dockerfile))
- [Workload Scenario Modeling](https://awesome-repositories.com/f/testing-quality-assurance/workload-scenario-modeling.md) — Configures traffic generation using patterns such as constant request rates, fixed iterations, and open or closed models. ([source](https://github.com/grafana/k6#readme))

### Programming Languages & Runtimes

- [High-Concurrency Runtimes](https://awesome-repositories.com/f/programming-languages-runtimes/high-concurrency-runtimes.md) — Uses a Go-based engine and goroutines to simulate high-concurrency network traffic.
- [Embedded Scripting Engines](https://awesome-repositories.com/f/programming-languages-runtimes/embedded-scripting-engines.md) — Integrates a JavaScript engine into the Go core to allow dynamic test script execution.

### Software Engineering & Architecture

- [Service Level Objective Validation](https://awesome-repositories.com/f/software-engineering-architecture/service-level-objective-validation.md) — Defines quantitative performance thresholds to automatically determine if a system meets required response time targets.
- [Performance Threshold Enforcement](https://awesome-repositories.com/f/software-engineering-architecture/coding-standards-enforcement/performance-standard-enforcers/performance-threshold-enforcement.md) — Determines test success or failure by comparing response time percentiles against quantitative service level objectives. ([source](https://github.com/grafana/k6/blob/master/README.md))

### System Administration & Monitoring

- [Performance Goal Validation](https://awesome-repositories.com/f/system-administration-monitoring/threshold-monitoring/performance-goal-validation.md) — Enforces service level objectives by comparing response time percentiles against quantitative thresholds.

### Web Development

- [Web Traffic Simulators](https://awesome-repositories.com/f/web-development/backend-development/web-frameworks/routing-request-handling/http-request-handlers/request-simulators/web-traffic-simulators.md) — Models workload patterns such as ramp-ups and constant request rates using virtual users to test service resilience. ([source](https://github.com/grafana/k6/blob/master/README.md))
- [Interaction Performance Monitoring](https://awesome-repositories.com/f/web-development/headless-browser-controllers/interaction-performance-monitoring.md) — Measures real user interaction speeds by executing scripted workflows within a headless browser.

### Artificial Intelligence & ML

- [Performance Regression Analyzers](https://awesome-repositories.com/f/artificial-intelligence-ml/regression-analysis/performance-regression-analyzers.md) — Integrates automated load scripts into CI pipelines to detect performance drops between versions.
- [CI/CD Regression Analyzers](https://awesome-repositories.com/f/artificial-intelligence-ml/regression-analysis/performance-regression-analyzers/ci-cd-regression-analyzers.md) — Integrates performance scripts into CI pipelines to automatically identify regressions before production. ([source](https://github.com/grafana/k6#readme))

### Part of an Awesome List

- [Performance Testing Tools](https://awesome-repositories.com/f/awesome-lists/devtools/browser-testing-tools/performance-testing-tools.md) — Measures real user interaction performance by executing scripts within a bundled headless browser instance.
- [Testing Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/testing-frameworks.md) — JS-scriptable load-testing tool for CI/CD pipelines.

### Business & Productivity Software

- [SRE Objective Enforcers](https://awesome-repositories.com/f/business-productivity-software/service-level-agreements/objective-definitions/sre-objective-enforcers.md) — Enforces service level objectives by comparing real-time response time percentiles against quantitative performance thresholds.
