grafana / k6
git clone https://github.com/grafana/k6.git
v2.3.0 · 1mo ago
A modern load testing tool, using Go and JavaScript
+14
stars, 24h · #2,601
+~58
stars, 7 days · #3,551
+~250
stars, 30 days · #3,237
32k
★ total · +0% this week
1.7k
forks · 768 open issues
Star history (as recorded here)
LanguageGo
LicenseAGPL-3.0
Created2016-03-21 (10y ago)
Last push1d ago
Watchers331
OwnerOrganization
GitHub topics
Links
- GitHub: github.com/grafana/k6
- Homepage: https://grafana.com/oss/k6/
- Releases · Issues · Hacker News mentions
README excerpt
Like unit testing, for performance Modern load testing for developers and testers in the DevOps era. Download · Documentation · Community Forum · Public Roadmap **k6** is a modern load-testing tool, built on our years of experience in the performance and testing industries. It's built to be powerful, extensible, and full-featured. The key design goal is to provide **the best developer experience**. Its core features are: - **Configurable load generation.** Even lower-end machines can simulate lots of traffic. - **Tests as code.** Reuse scripts, modularize logic, version control, and integrate tests with your CI. - **A full-featured API.** The scripting API is packed with features that help you simulate real application traffic. - **An embedded JavaScript engine.** The performance of Go, the scripting familiarity of JavaScript. - **Multiple Protocol support**. HTTP, WebSockets, gRPC, Browser, and more. - **Large extension ecosystem.** You can extend k6 to support your needs. And many people have already shared their extensions with the community! Explore the available extensions. - **Flexible metrics storage and visualization**. Summary statistics or granular metrics, exported to the service of your choice. - **Native integration with Grafana cloud**. SaaS solution for test execution, metrics correlation, data analysis, and more. This is what load testing looks like in the 21st century. ## Example script [code] You can run scripts like this on the CLI, or in your CI, or across a Kubernetes cluster. > [!NOTE] > Don't want to write code ? > > We got you! Meet k6 Studio, a desktop application made to help you generate k6 scripts without having to touch code! ## Documentation The docs cover all aspects of using k6. Some highlights include: - Get Started. Install, run a test, inspect results. - HTTP requests. Have your virtual users use HTTP methods. Or, check the other Protocols. - Thresholds. Set goals for your test, and codify your SLOs. - Options. Configure your load, duration, TLS certificates, and much, much more. - Scenarios. Choose how to model your workload: open models, closed models, constant RPS, fixed iterations, and more. - Results output. Study, filter, and export your test results. - JavaScript API. Reference and examples of all k6 modules. - Extensions. Extend k6 for new protocols and use cases. These links barely scratch the surface! If you're looking for conceptual information, you can read about Test types, Test strategies, or one of the many informative Blog posts. ## Roadmap Our team is dedicated to continuously improving and providing the best user experience possible. The public roadmap covers user-oriented features, UX improvements and JavaScript support that our team will focus on. Remember that timeframes and priorities may shift, but we believe it's important to share our vision. We hope it provides a clear overview of our plans for future development. We welcome feedback, corrections, and suggestions via GitHub