{"slug": "grafana--awesome-k6", "title": "Awesome K6", "description": "A curated list of awesome tools, content and projects using k6", "github_url": "https://github.com/grafana/awesome-k6", "stars": "588", "tag": "Testing", "entry_count": 124, "subcategory_count": 3, "subcategories": [{"name": "General", "parent": "", "entries": [{"name": "Articles", "url": "#articles", "description": ""}, {"name": "Videos", "url": "#videos", "description": ""}, {"name": "Examples/Templates", "url": "#examplestemplates", "description": ""}, {"name": "Tools", "url": "#tools", "description": ""}, {"name": "CI/CD", "url": "#cicd", "description": ""}, {"name": "Extensions", "url": "#extensions", "description": ""}, {"name": "Related", "url": "#related", "description": ""}, {"name": "k6 Learn", "url": "https://github.com/grafana/k6-learn", "description": "Explanation of the principles of load testing and practical examples for how to do it with k6.", "stars": "329"}, {"name": "k6 OSS workshop", "url": "https://github.com/grafana/k6-oss-workshop", "description": "A 2-3 hour k6 workshop with practical k6 examples using the QuickPizza demo app.", "stars": "18"}, {"name": "Beginner's guide to load testing with k6", "url": "https://link.medium.com/npI9sjDyyjb", "description": "Introductory guide in several parts, helping you get started with k6."}, {"name": "Best practices organizing performance testing projects with k6", "url": "https://grafana.com/blog/2024/04/30/organizing-your-grafana-k6-performance-testing-suite-best-practices-to-get-started/", "description": "Guidelines to scale your performance testing across multiple teams and projects."}, {"name": "Distributed load testing with k6", "url": "https://feryn.eu/presentations/distributed-load-testing-k6-confoo23", "description": "Thijs Feryn presents in ConFoo Montreal 2023."}, {"name": "Load Testing with k6", "url": "https://medium.com/@dan.ryan.emmons/qa-load-testing-with-k6-io-c11c2afced04", "description": "Brief overview of features and capabilities of k6."}, {"name": "Test and visualize with InfluxDB, Grafana and K6", "url": "https://medium.com/@naoko.reeves/load-test-with-k6-and-visualize-with-influxdb-and-grafana-c6097a6f6d0a", "description": "Setting up load tests and visualizing them using grafana dashboards."}, {"name": "Open source load testing tool review 2020", "url": "https://grafana.com/blog/2020/03/03/open-source-load-testing-tool-review/", "description": "Detailed comparison of the most popular open source load testing tools."}, {"name": "Load Testing Your API with Swagger/OpenAPI and k6", "url": "https://k6.io/blog/load-testing-your-api-with-swagger-openapi-and-k6", "description": "Generate k6 load test scripts from OpenAPI specifications."}, {"name": "Load Testing Your API with Postman", "url": "https://grafana.com/blog/2020/04/19/load-testing-your-api-with-postman/", "description": "How to use Postman collections to load test your API."}, {"name": "Load Testing & Black Friday capacity planning", "url": "https://medium.com/back-market-engineering/how-back-market-sres-prepared-for-black-friday-5f017f343408", "description": "How Back Market prepared for Black Friday with k6 based load testing."}, {"name": "Load Testing SQL Databases with k6", "url": "https://grafana.com/blog/2021/07/14/load-testing-sql-databases/", "description": "How to use the xk6-sql extension to test SQL databases directly."}, {"name": "Introducing TestRail in your K6 tests", "url": "https://dev.to/kwidera/introducing-testrail-in-you-k6-tests-eck", "description": "Reporting k6 output to TestRail."}, {"name": "Beautiful Load Testing With K6 and Docker Compose", "url": "https://medium.com/swlh/beautiful-load-testing-with-k6-and-docker-compose-4454edb3a2e3", "description": "How to run load tests using the awesome combination of Docker Compose, K6, InfluxDB and Grafana."}, {"name": "Load Testing with Azure DevOps and k6", "url": "https://medium.com/microsoftazure/load-testing-with-azure-devops-and-k6-839be039b68a", "description": "How to setup Azure DevOps to perform automated load tests using k6, handleCallback, and JUnit."}, {"name": "K6 — Custom Slack Integration: Metrics are the Magic of Tests", "url": "https://medium.com/geekculture/k6-custom-slack-integration-metrics-are-the-magic-of-tests-527aaf613595", "description": "How to send k6 output results to Slack using the handleSummary callback."}, {"name": "Load testing with k6", "url": "https://levelup.gitconnected.com/load-testing-with-k6-48488c7946bb", "description": "Using k6 for load, soak, stress, spike and smoke testing."}, {"name": "How to write three times fewer lines of code when doing load testing", "url": "https://dev.to/tarantool/how-to-write-three-times-fewer-lines-of-code-when-doing-load-testing-9lb", "description": "Building a k6 extension in Go to test Tarantool."}, {"name": "Load Testing. k6 + TypeScript + Azure DevOps", "url": "https://alex-klaus.com/load-test-k6-typescript-azure/", "description": ""}, {"name": "Performance testing with k6", "url": "https://blog.shanelee.name/2021/12/15/performance-testing-with-k6/", "description": "On API performance testing, with Open API and TypeScript."}, {"name": "k6 introduces browser automation and Prometheus support in k6 OSS", "url": "https://grafana.com/blog/2021/11/24/k6-introduces-browser-automation-and-prometheus-support-in-k6-oss/", "description": "From the Grafana blog: feature announcements at ObservabilityCON 2021."}, {"name": "Testing shift left observability with the Grafana Stack, OpenTelemetry, and k6", "url": "https://grafana.com/blog/2021/12/06/testing-shift-left-observability-with-the-grafana-stack-opentelemetry-and-k6/", "description": "From the Grafana blog: a summary of Executive Director of Platform Engineering at JPMorgan Chase, Vinodh Ravi's talk at ObservabilityCON 2021."}, {"name": "Umbraco 9 - What a Performance!", "url": "https://moriyama.co.uk/about-us/news/blog-umbraco-9-what-a-performance/", "description": "Test the performance of Umbraco v9 on Azure against Umbraco v8 and comparing Windows vs Linux."}, {"name": "On maintaining a k6 codebase, Part 1", "url": "https://filfreire.com/posts/k6_tricks_ep1", "description": "Personal tips to maintain a challenging k6 load testing codebase."}, {"name": "Distributed Load Testing With K6", "url": "https://engineering.empathy.co/distributed-load-testing-with-k6/", "description": "Setting up distributed execution with k6-operator and Argo workflows."}, {"name": "Load testing with k6 and k8s", "url": "https://www.toucantoco.com/en/tech-blog/tech-blog/load-testing-with-k6-and-k8s", "description": "The Toucan DevOps team explains why they chose k6 as their load testing tool and how they deploy it on k8s."}, {"name": "CloudPosse's Load Testing Stack", "url": "https://github.com/cloudposse/load-testing", "description": "Load testing stack using k6, Grafana and InfluxDB.", "stars": "54"}, {"name": "Scaling Confidently with the Load and Fault Team", "url": "https://robinhood.engineering/scaling-confidently-with-the-load-and-fault-team-122978333d9", "description": "Robinhood on load testing a Kubernetes system with k6."}, {"name": "Streamlining Performance Testing with K6 and ChatGPT", "url": "https://medium.com/@monish.correia/streamlining-performance-testing-with-k6-and-chatgpt-206c6c7db82b", "description": "Monish Correia writes k6 tests using GitHub co-pilot."}, {"name": "k6 YouTube Channel", "url": "https://www.youtube.com/c/k6test", "description": ""}, {"name": "How to use k6 Cloud for load testing", "url": "https://www.youtube.com/watch?v=ncxCIuo5tUU\\&list=PLJdv3RhAQXNGkRCp7Q0k77n5jif4qjz2o", "description": "A series of quick videos for getting started with k6 Cloud."}, {"name": "Intro to load testing with k6 and Grafana (k6 data source plugin and Prometheus Remote Write)", "url": "https://www.youtube.com/watch?v=tFsIgbqXbxM", "description": ""}, {"name": "From Grafana ObservabilityCON: Intro to using k6 load testing with the Grafana observability stack", "url": "https://grafana.com/go/observabilitycon/2021/k6-load-testing/", "description": ""}, {"name": "From Grafana ObservabilityCON: Building performance tests into your CI pipeline with k6 and Grafana, w/ Matthew Churcher, QA Engineer at Vonage", "url": "https://grafana.com/go/observabilitycon/2021/performance-testing-vonage/", "description": ""}, {"name": "EveryoneCanContribute cafe: Load Performance Testing with k6", "url": "https://youtu.be/_ty40gSaaw8", "description": ""}, {"name": "Playlist - What others says about k6", "url": "https://www.youtube.com/playlist?list=PLJdv3RhAQXNExTjuYN9ukawFHB7ucuejp", "description": ""}, {"name": "k6 examples", "url": "https://grafana.com/docs/k6/latest/examples/", "description": "A list of common examples on the k6 documentation."}, {"name": "k6 QuickPizza examples", "url": "https://github.com/grafana/quickpizza", "description": "Web application used for demos and workshops with multiple k6 examples.", "stars": "59"}, {"name": "k6-template-es6", "url": "https://github.com/grafana/k6-template-es6", "description": "Starter template using Webpack and Babel to enable ES6 features in k6 tests.", "stars": "84"}, {"name": "k6-typescript-template", "url": "https://github.com/grafana/k6-template-typescript", "description": "Starter template using Webpack bundler to write k6 tests in TypeScript.", "stars": "279"}, {"name": "k6-rollup-example", "url": "https://github.com/grafana/k6-rollup-example", "description": "Example using Rollup to bundle k6 tests.", "stars": "4"}, {"name": "Jahmilli/k6-example", "url": "https://github.com/Jahmilli/k6-example", "description": "Starter template using Vite (Rollup) bundler to write k6 tests in TypeScript.", "stars": "10"}, {"name": "tom-miseur/k6-templates", "url": "https://github.com/tom-miseur/k6-templates/", "description": "Opinionated starter templates for k6 projects.", "stars": "35"}, {"name": "SwissLife-OSS/k6-multiscenario-template", "url": "https://github.com/SwissLife-OSS/K6-MultiScenario-template", "description": "Use K6 to implement a Multi Scenario template.", "stars": "52"}, {"name": "agilob/multiscenario-tests", "url": "https://b.agilob.net/programming/k6/multiscenario-tests/", "description": "Running multiple scenarios at once."}, {"name": "Im5tu/template-k6", "url": "https://github.com/Im5tu/template-k6", "description": "A K6 Performance Test Suite Template.", "stars": "5"}, {"name": "mohsenny/k6-test-template", "url": "https://github.com/mohsenny/k6-test-template", "description": "Load testing framework.", "stars": "3"}, {"name": "kwidera/k6\\_framework", "url": "https://github.com/kwidera/k6_framework", "description": "Another k6 framework example.", "stars": "1"}, {"name": "Sahanipe/pet\\_store", "url": "https://github.com/Sahanipe/pet_store", "description": "Modularized scripts for the Swagger PetStore APIs.", "stars": "1"}, {"name": "lreimer/continuous-k6k8s", "url": "https://github.com/lreimer/continuous-k6k8s", "description": "Continuously run k6 tests in Kubernetes using cronjobs.", "stars": "18"}, {"name": "luketn/docker-k6-grafana-influxdb", "url": "https://github.com/luketn/docker-k6-grafana-influxdb", "description": "Demonstrates how to run load tests with containerised instances of K6, Grafana and InfluxDB.", "stars": "161"}, {"name": "k6-to-junit", "url": "https://github.com/Mattihew/k6-to-junit", "description": "Tool for converting k6 output to JUnit XML for easy use with CIs.", "stars": "18"}, {"name": "k6-reporter", "url": "https://github.com/benc-uk/k6-reporter", "description": "Tool for converting k6 output to HTML reports.", "stars": "396"}, {"name": "k6-html-reporter", "url": "https://github.com/szboynono/k6-html-reporter", "description": "Tool for generating k6 HTML reports.", "stars": "24"}, {"name": "har-to-k6", "url": "https://github.com/grafana/har-to-k6", "description": "Tool for converting HAR recordings to k6 test scripts.", "stars": "127"}, {"name": "postman-to-k6", "url": "https://github.com/grafana/postman-to-k6", "description": "Tool for converting Postman collections to k6 test scripts.", "stars": "290"}, {"name": "k6 generator", "url": "https://github.com/OpenAPITools/openapi-generator", "description": "Tool for converting Swagger/OpenAPI specifications to k6 test scripts.", "stars": "22k"}, {"name": "jmeter-to-k6", "url": "https://github.com/grafana/jmeter-to-k6", "description": "Tool for converting JMeter test cases to k6 test scripts.", "stars": "69"}, {"name": "jslib.k6.io", "url": "https://jslib.k6.io/", "description": "Useful utility libs for k6 scripts."}, {"name": "k6 for visual studio code", "url": "https://marketplace.visualstudio.com/items?itemName=k6.k6\\&ssr=false#overview", "description": "Marketplace Extension for running k6 directly from your IDE."}, {"name": "k6 for IntelliJ", "url": "https://plugins.jetbrains.com/plugin/16141-k6", "description": "IntelliJ-based Plugin to run and debug \\[sic!] k6 tests locally or in the [k6 Cloud](https://app.k6.io/) from your IntelliJ IDE."}, {"name": "k6 Testkube executor", "url": "https://kubeshop.github.io/testkube/executor-k6/", "description": ""}, {"name": "k6-junit", "url": "https://github.com/simbadltd/k6-junit", "description": "k6 JUnit summary exporter libray.", "stars": "11"}, {"name": "k6-expect", "url": "https://github.com/simbadltd/k6-expect", "description": "k6 library that simplifies writing tests in a functional way by providing a jest-like syntax for expectations.", "stars": "2"}, {"name": "k6 for AWS CodeBuild", "url": "https://k6.io/blog/integrating-k6-with-aws-codebuild/", "description": ""}, {"name": "k6 for Azure Pipelines", "url": "https://k6.io/blog/integrating-load-testing-with-azure-pipelines/", "description": ""}, {"name": "k6 for Bamboo", "url": "https://k6.io/blog/integrating-k6-with-bamboo/", "description": ""}, {"name": "k6 for Buddy", "url": "https://k6.io/blog/integrating-k6-with-buddy-devops/", "description": ""}, {"name": "k6 for CircleCI", "url": "https://grafana.com/blog/2022/03/06/load-testing-with-circleci/", "description": ""}, {"name": "k6 for Flagger", "url": "https://grafana.com/blog/2022/04/28/deployment-time-testing-with-grafana-k6-and-flagger/", "description": ""}, {"name": "k6 for GitHub Actions", "url": "https://k6.io/blog/load-testing-using-github-actions/", "description": ""}, {"name": "k6 for GitLab", "url": "https://grafana.com/blog/2020/09/27/load-testing-with-gitlab/", "description": ""}, {"name": "k6 for Google Cloud Build", "url": "https://k6.io/blog/integrating-k6-with-google-cloud-build/", "description": ""}, {"name": "k6 for Jenkins", "url": "https://k6.io/blog/integrating-load-testing-with-jenkins/", "description": ""}, {"name": "k6 for Keptn", "url": "https://k6.io/blog/performance-testing-in-keptn-using-k6/", "description": ""}, {"name": "k6 for TeamCity", "url": "https://k6.io/blog/load-testing-using-teamcity-and-k6/", "description": ""}, {"name": "k6 Extensions", "url": "https://grafana.com/docs/k6/latest/extensions/", "description": ""}, {"name": "GitHub Topic: xk6", "url": "https://github.com/topics/xk6", "description": "Explore k6 extensions tagged with the xk6 label."}, {"name": "Extension Registry", "url": "https://grafana.com/docs/k6/latest/extensions/explanations/extensions-registry/", "description": "Curated listing of k6 extensions."}]}, {"name": "Official", "parent": "Extensions", "entries": [{"name": "xk6-client-tracing", "url": "https://github.com/grafana/xk6-client-tracing", "description": "Client for load testing distributed tracing backends.", "stars": "45"}, {"name": "xk6-disruptor", "url": "https://github.com/grafana/xk6-disruptor", "description": "Inject faults to test 💣.", "stars": "95"}, {"name": "xk6-exec", "url": "https://github.com/grafana/xk6-exec", "description": "Run external commands.", "stars": "20"}, {"name": "xk6-kubernetes", "url": "https://github.com/grafana/xk6-kubernetes", "description": "Interact with Kubernetes clusters.", "stars": "64"}, {"name": "xk6-loki", "url": "https://github.com/grafana/xk6-loki", "description": "Client for load testing Loki.", "stars": "38"}, {"name": "xk6-notification", "url": "https://github.com/grafana/xk6-notification", "description": "Create notifications.", "stars": "19"}, {"name": "xk6-output-influxdb", "url": "https://github.com/grafana/xk6-output-influxdb", "description": "Export results to InfluxDB v2.", "stars": "64"}, {"name": "xk6-output-kafka", "url": "https://github.com/grafana/xk6-output-kafka", "description": "Export k6 results in real-time to Kafka.", "stars": "22"}, {"name": "xk6-output-timescaledb", "url": "https://github.com/grafana/xk6-output-timescaledb", "description": "Export k6 results to TimescaleDB.", "stars": "30"}, {"name": "xk6-client-prometheus-remote", "url": "https://github.com/grafana/xk6-client-prometheus-remote", "description": "Test Prometheus Remote Write performance.", "stars": "24"}, {"name": "xk6-sql", "url": "https://github.com/grafana/xk6-sql", "description": "Load-test SQL Servers (PostgreSQL, MySQL and SQLite3 for now).", "stars": "113"}, {"name": "xk6-ssh", "url": "https://github.com/grafana/xk6-ssh", "description": "SSH.", "stars": "9"}]}, {"name": "Community", "parent": "Extensions", "entries": [{"name": "xk6-cable", "url": "https://github.com/anycable/xk6-cable", "description": "Test Action Cable and AnyCable functionality.", "stars": "26"}, {"name": "xk6-coap", "url": "https://github.com/golioth/xk6-coap", "description": "Interact with Constrained Application Protocol endpoints.", "stars": "12"}, {"name": "xk6-dotenv", "url": "https://github.com/szkiba/xk6-dotenv", "description": "Load env vars from a .env file.", "stars": "28"}, {"name": "xk6-ethereum", "url": "https://github.com/distribworks/xk6-ethereum", "description": "K6 extension for ethereum protocols.", "stars": "10"}, {"name": "xk6-faker", "url": "https://github.com/szkiba/xk6-faker", "description": "Generate random fake data.", "stars": "57"}, {"name": "xk6-file", "url": "https://github.com/avitalique/xk6-file", "description": "Write files.", "stars": "23"}, {"name": "xk6-g0", "url": "https://github.com/szkiba/xk6-g0", "description": "Write k6 tests in golang.", "stars": "25"}, {"name": "xk6-kafka", "url": "https://github.com/mostafa/xk6-kafka", "description": "Load-test Apache Kafka. Includes support for Avro messages.", "stars": "150"}, {"name": "xk6-kv", "url": "https://github.com/oleiade/xk6-kv", "description": "Share key-value data between VUs.", "stars": "15"}, {"name": "xk6-mock", "url": "https://github.com/szkiba/xk6-mock", "description": "Mock HTTP(S) servers.", "stars": "14"}, {"name": "xk6-mqtt", "url": "https://github.com/pmalhaire/xk6-mqtt", "description": "MQTT extension.", "stars": "49"}, {"name": "xk6-nats", "url": "https://github.com/ydarias/xk6-nats", "description": "Provides NATS support for k6 tests.", "stars": "13"}, {"name": "xk6-opentelemetry", "url": "https://github.com/thmshmm/xk6-opentelemetry", "description": "Generate OpenTelemetry signals from within your test scripts.", "stars": "25"}, {"name": "xk6-output-elasticsearch", "url": "https://github.com/elastic/xk6-output-elasticsearch", "description": "Export results to Elasticsearch 8.x.", "stars": "19"}, {"name": "xk6-output-prometheus-pushgateway", "url": "https://github.com/martymarron/xk6-output-prometheus-pushgateway", "description": "Export results to Prometheus pushgateway.", "stars": "11"}, {"name": "xk6-output-statsd", "url": "https://github.com/LeonAdato/xk6-output-statsd", "description": "Enables real-time output of test metrics to a StatsD service.", "stars": "22"}, {"name": "xk6-output-timestream", "url": "https://github.com/leonyork/xk6-output-timestream", "description": "Export results to AWS Timestream.", "stars": "18"}, {"name": "xk6-playwright", "url": "https://github.com/nicholasvuono/xk6-playwright", "description": "Browser automation and end-to-end web testing using Playwright.", "stars": "45"}, {"name": "xk6-prometheus", "url": "https://github.com/szkiba/xk6-prometheus", "description": "Prometheus HTTP exporter for k6.", "stars": "49"}, {"name": "xk6-prompt", "url": "https://github.com/Juandavi1/xk6-prompt", "description": "Support for input arguments via UI.", "stars": "14"}, {"name": "xk6-sse", "url": "https://github.com/phymbert/xk6-sse", "description": "A k6 extension for Server-Sent Events (SSE).", "stars": "15"}, {"name": "xk6-tcp", "url": "https://github.com/NAlexandrov/xk6-tcp", "description": "Send data to TCP port.", "stars": "15"}, {"name": "xk6-top", "url": "https://github.com/szkiba/xk6-top", "description": "Updating the current k6 metrics summaries on the terminal during the test run.", "stars": "26"}, {"name": "How They Load Test", "url": "https://github.com/aliesbelik/how-they-load", "description": "A collection of resources on how companies around the world perform load testing.", "stars": "102"}, {"name": "Load Testing Toolkit", "url": "https://github.com/aliesbelik/load-testing-toolkit", "description": "A collection of open-source tools for debugging, benchmarking, load and stress testing your code or services.", "stars": "167"}, {"name": "awesome-http-benchmark", "url": "https://github.com/denji/awesome-http-benchmark", "description": "A collection of HTTP benchmark tools, testing/debugging, & restAPI (RESTful).", "stars": "3.4k"}]}]}