Hi there,
Here at k6, we’re constantly shipping new features to help our users get the most out of k6. In case you missed it, here’s a roundup of all the k6 and k6 Cloud news, updates, and improvements you should know about.
🙌 v0.41.0 released
k6 v0.41.0 is primarily a maintenance release that changes how k6 manages metric data, making it easier to integrate k6 metrics with observability tools.
k6 changed its internal metric model and now stores high-cardinality tags in a new metadata property. Read about the technical details in k6 goes Time Series.
Besides metrics changes, the gRPC API now supports loading a protoset file and the maxReceiveSize and maxSendSize connection options.
This release also included more internal improvements and minor changes from the community. As always, the list of features, fixes, and breaking changes is in the Release Notes.
✨ New in k6 Cloud
Environment variables on k6 Cloud: You can now create and manage environment variables on k6 Cloud and reference them in your k6 script through the __ENV variable. This way, your team can reuse variables across different cloud scripts, making your testing more modular and dynamic.
k6 performance testing and Grafana Tempo integration (k6 x Tempo): Traditionally, performance testing provides high-level insights into the system's behavior from the outside but lacks visibility from the inside. k6 x Tempo bridges this gap, generating aggregations from your tracing data and correlating them with k6 test run data to help you understand performance test results and reduce MTTR.
Hear directly from the product manager and lead engineers about this new integration in this k6 Office Hours and our ObservabilityCON 2022 on-demand session. If you are interested in our private beta, please fill out the k6 x Tempo private beta program form to help us understand your use case.
Default Teams and Projects for newly provisioned users: SAML SSO users now can automatically be granted Teams and Project permissions.
k6 Cloud App for Grafana: We have added a significant number of new features:
- Performance Insights
- End-of-test summary
- Per protocol performance overview
- Improved test-trending chart
- Success/total ratio added to result tabs
- Test result script preview
- Pagination added to HTTP, Checks & Thresholds
Updated k6 Cloud REST API documentation: The docs have a new style and more endpoints, showing you how to use the Cloud API to view data about organizations, start tests, and retrieve data about tests and test runs.
🌐 xk6-browser
xk6-browser extends the core features of k6 with browser automation and end-to-end testing. The goal for v0.6.0 is to make the API as stable as possible.
The latest release of xk6-browser v0.6.0 includes:
- Page.goto() is now an asynchronous method that returns a Promise.
- Setting a browser launch property to null is ignored and the default values will be used; take a look at the BrowserType.launch documentation for the defaults.
- Bug fixes in relation to data logging, metric timestamps, and potential deadlocks.
- Various improvements to the API
View the full release notes - xk6-browser version 0.6.0.
As part of this release, we’ve also updated our xk6-browser documentation with a Get Started guide.
⚙️ k6 Extensions
xk6-distributed-tracing received some updates to support the recently announced Grafana k6 x Tempo integration.
xk6-exec options may now specify the working directory from which a command should be executed.
xk6-amqp now supports serialization of messages using MessagePack by specifying content-type of “application/x-msgpack.”
xk6-chaos has been deprecated and will no longer receive updates. Going forward, if you want to run chaos experiments with k6, you should migrate to the xk6-disruptor extension instead.
xk6-kubernetes, xk6-client-prometheus-remote, and xk6-output-timescaledb were updated for the latest version of k6.
From the community…
pmalhaire/xk6-mqtt received some updates to support TLS certificates.
dgzlopes/xk6-redis extension has been deprecated and no longer receives updates. Anyone using this implementation is advised to use the k6/experimental/redis module.
mostafa/xk6-kafka and dgzlopes/xk6-notification were updated for the latest version of k6.
Jainam Shah has built a k6 integration with Keptn, the CNCF project to orchestrate cloud-native applications based on GitOps. You can now run k6 tests in Keptn workflows to test new releases - more about Keptn and the distinct integration options in this tutorial.
Once again, to our tireless community of extension developers…we see you and thank you!!!
🎉 Awards
k6 has been named a leader in the G2 Grid® for Load Testing. G2 scores products based on users’ responses and we are truly thankful for the placement of k6 as a Leader by G2.
k6 has been moved into the Adopt category in the Thoughtworks Technology Radar. The Adopt category represents tools that the Thoughtworks Technology Advisory Board strongly recommend. Per Thoughtworks:
“the developer friendliness and ecosystem make k6 a compelling option for investigating a system's behavior under heavy load.”
🗞️ Must-reads
- ObservabilityCON 2022 announcements recap (Grafana blog)
- Using chai with k6 (k6 blog)
- Peeking under the hood of k6 Cloud (k6 blog)
- Hidden gems of Testkube: k6 and Kubernetes by Yusuf Tayman
- CNCF Live Webinar: Running distributed load tests with the Grafana k6-operator
- 35 Million Hot Dogs: Benchmarking Caddy vs. Nginx (Tyblog)
Consider yourself a performance testing pro? Follow us on Twitter and LinkedIn and test your knowledge with #k6TestingTuesdays... How many can you get right?
Happy testing!
-The k6 team