Grafana k6 v0.45.0 has been released, featuring a new experimental module for gRPC streaming support, a new browser recorder extension for Firefox and Chrome, and tons of improvements for Grafana k6 OSS and Grafana Cloud k6.
Here’s a quick overview of the latest k6 release and all the news from the community:
Grafana k6 v0.45.0 release
This release includes a new experimental module to support gRPC streaming: k6/experimental/grpc. It is a copy of the k6/net/grpc module with added stream support. You can just replace k6/net/grpc import with k6/experimental/grpc to use the new functionality. To learn more, check out the grpc module documentation.
Also with this release, users can now upload a test to the cloud without running it. They can simply add --upload-only when invoking k6 cloud as in k6 cloud --upload-only script.js. This is likely going to be most useful in a CI on the actual test script project: CI can run k6 cloud --upload-only new-version-of-script.js on "release" and later the newer version will be used, for example, by a scheduled run.
Lastly it is now possible to set or delete metadata for the whole virtual user with a similar API as used for tags. This also introduces the sub-object metrics on the vu object. See an example below:
The release included more internal improvements, minor changes, and fixes from the k6 team and the community. Check out the full list in the k6 release notes.
k6 browser updates
k6 browser lets you automate browser actions and collect web performance metrics. In the k6 0.45.0 release, the team has continued to add bug fixes and improvements, which include:
- Removing existing browser_* metrics in favor of Google Web Vital metrics.
- Bug fix for the timeout error for the Locator.WaitFor functionality when the state defined is either hidden or detached.
- Bug fix for remote object parsing when subtype is null.
As a preparation for the next release, a new browser option has been added inside scenario definitions to configure the browser test. In future releases, the browser lifecycle will be handled automatically without the need to explicitly launch and close the browser. For more information, check out k6 issue #3022.
New in Grafana Cloud k6
In March, we announced the general availability of Grafana Cloud k6, our managed performance testing solution in Grafana Cloud. If you want to try it out, Grafana Cloud has a free-forever plan with 500 virtual user hours per month and more. (Sign up for free today!)
Note: Existing k6 Cloud customers will not be impacted — they will be migrated to the new experience at a later date.
We continue to add more features to Grafana Cloud k6. Some of the latest additions include:
- The browser recorder lets you generate a k6 script based on a browser session. It's available as an extension for Chrome and Firefox.
- The project activity view helps you get a brief overview of what’s happening in your projects.
- You can send notifications in a few ways, including to a third-party platform such as Slack and Microsoft Teams, through custom webhooks and through email.
- The Audit Trail allows admin users to monitor security events.
- You can now save tests to persist the data if needed.
The latest on k6 Extensions
This was a productive release cycle as it relates to extensions.
The xk6-output-prometheus-remote and xk6-webcrypto experimental modules received some minor updates as we continue to stabilize the features. Additionally, xk6-grpc was added as an experimental module providing support for GRPC protocol in scripts.
The latest Golang security patches were applied to the xk6 docker image thanks to @kempsterc.
A bugfix was applied to xk6-sql thanks to @ynovytskyy.
Of course, the community continues to introduce impactful updates:
- mostafa/xk6-kafka provided some bug fixes and added support for PEM certificates as string values.
- @szkiba provided more updates for his szkiba/xk6-dashboard, szkiba/xk6-prometheus, szkiba/xk6-mock, and szkiba/xk6-cache extensions. In addition to these updates, he also created the szkiba/xk6-g0 extension.
- martymarron/xk6-output-prometheus-pushgateway was updated to provide support for adding prefixes to metric names.
- A new extension, SYM01/xk6-proxy, is available allowing your HTTP requests to be routed through a proxy server.
Using k6 in your GitHub workflows? Be sure to update to the latest version of k6-action for some updates to the base k6 image.
Introducing more k6 Champions
The k6 Champions program aims to recognize experts within our community to amplify their contributions and partner with the k6 team.
Starting off with some awesome news! We have accepted four new contributors in the program:
We look forward to seeing how our new champions engage and get involved with the community!
Our existing k6 champions have also been busy with speaking about k6 and load testing:
- John Hill and Jose Luis Latorre, spoke at GrafanaCON 2023. John spoke about Automated performance testing with NASA Open MCT, Grafana Cloud, and k6 while Jose demonstrated How Grafana k6 helps you break your APIs to make them stronger.
- Enes Kühn spoke at a local meetup in Tuzla about load testing strategies.
- Yusuf Tayman wrote an excellent article about fault injection testing with k6.
If you love using k6 and have done advocacy and education work on behalf of the project, you can apply to be part of our growing program by filling out this k6 Champions application form.
Load testing must-reads and resources
- Automated performance modeling with NASA Open MCT, Grafana Cloud, and k6 (GrafanaCON 2023)
- Transforming IT and business flows at DHL Express with Grafana, k6, and Prometheus (GrafanaCON 2023)
- How Grafana k6 helps you break your APIs to make them stronger (GrafanaCON 2023)
- Web performance testing: Compare Grafana k6 browser vs. Google Lighthouse (Grafana blog)
- AI-Powered K6 Testing: No Code, No Hassle, Just ChatGPT! (Youtube)
- What is My SLO and How do I Test It? (Medium article by Sarah Zipkin)
- SLO Math Demystified: How to set SLOs and alerts for those SLOs for dummies (Medium article by Sarah Zipkin)
You can also watch the following episodes of k6 Office Hours:
- Testing Kubernetes networking with k6 - Roberto Santalla (k6 Office Hours #91)
- How to use k6 for SRE (k6 Office Hours #90)
- Testing Types (k6 Office Hours #88)
If you are interested in upcoming k6 news or want to connect with the k6 community, please join us on Slack, Twitter, LinkedIn, or YouTube. Happy testing!
Download the latest version of k6 OSS today, or get started with performance testing on Grafana Cloud, which has a generous free-forever tier that includes 500 k6 Virtual User Hours (VUh) and plans for every use case. Sign up for free now!