Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

changelog: Cloud output v2 #3161

Merged
merged 3 commits into from
Aug 10, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 12 additions & 21 deletions release notes/v0.46.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,19 @@ if (__ITER === 0) {

Thanks @chrismoran-mica for contribution 🙇‍♂️.

### `<big_feature_1>` `#pr`
### Cloud Output v2 [#3117](https://github.com/grafana/k6/issues/3117)

_what, why, and what this means for the user_
After years of great service, we decided to refresh the k6 Cloud output introducing a more efficient end-to-end solution for ingesting the generated tests' metrics. The main change regards the protocol used for flushing metrics that is now a binary based payload over HTTP.

The new output reduces the load generators' used resources for tests that produce many metrics. There is no significant difference in the user experience; it's expected to be the same.

The one thing worth highlighting is that the new output is strict about tags and drops tags if they are reserved:
- `test_run_id` as it is reserved for internal k6 Cloud operations
- any tag with a key that starts with two underscores (`__`), that is marked by Prometheus convention as reserved

At the moment this is not yet the default Cloud output for the test runs executed from local machines (`k6 run -o cloud`), but it is expected to be transparently enabled in the upcoming weeks.

The full list of related PRs: [#3104](https://github.com/grafana/k6/pull/3104), [#3108](https://github.com/grafana/k6/pull/3108), [#3120](https://github.com/grafana/k6/pull/3120), [#3125](https://github.com/grafana/k6/pull/3125), [#3162](https://github.com/grafana/k6/pull/3162), [#3169](https://github.com/grafana/k6/pull/3169), [#3182](https://github.com/grafana/k6/pull/3182), [#3186](https://github.com/grafana/k6/pull/3186), [#3187](https://github.com/grafana/k6/pull/3187), [#3193](https://github.com/grafana/k6/pull/3193), [#3195](https://github.com/grafana/k6/pull/3195), [#3206](https://github.com/grafana/k6/pull/3206), [#3226](https://github.com/grafana/k6/pull/3226), [#3157](https://github.com/grafana/k6/pull/3157), [#3172](https://github.com/grafana/k6/pull/3172).

### `<big_feature_n>` `#pr`

Expand All @@ -95,7 +105,6 @@ _what, why, and what this means for the user_
_Format as `<number> <present_verb> <object>. <credit>`_:
- _`#999` Gives terminal output prettier printing. Thanks to `@person` for the help!_

- [#3157](https://github.com/grafana/k6/pull/3157) and [#3172](https://github.com/grafana/k6/pull/3172) Add a `MaxTimeSeriesInBatch` configuration option.
- [#3176](https://github.com/grafana/k6/pull/3176) Adds a `js/promises` package, which enables extension developers to easily create promises that will be dispatched to the eventloop using the `New` function.
- [#3181](https://github.com/grafana/k6/pull/3181) Adds a `RunOnEventLoop` method to the `modulestest.Runtime` type, which allows extensions developers to run code on the event loop from their tests.

Expand All @@ -116,24 +125,6 @@ _Format as `<number> <present_verb> <object>. <credit>`_:
- [#3131](https://github.com/grafana/k6/pull/3131) Updates our Pull Request template to be more structured and include a checklist for contributors.
- [#3177](https://github.com/grafana/k6/pull/3177) Updates the version of golangci-lint we use to the latest version.

### Cloud output v2

// TODO @codebien

* [3104](https://github.com/grafana/k6/pull/3104) Retry and flushers pool
* [3108](https://github.com/grafana/k6/pull/3108) Flush chunks
* [3120](https://github.com/grafana/k6/pull/3120) Unlimited size for body payload
* [3125](https://github.com/grafana/k6/pull/3125) Use a static remote service url
* [3162](https://github.com/grafana/k6/pull/3162) Warn about labels that have reserved names
* [3169](https://github.com/grafana/k6/pull/3169) Compact histogram
- [#3182](https://github.com/grafana/k6/pull/3182) Fix off-by-one error for spans
- [#3186](https://github.com/grafana/k6/pull/3186) Be less noisy when handling errors
- [#3187](https://github.com/grafana/k6/pull/3187) Create batches for single bucket flush
- [#3193](https://github.com/grafana/k6/pull/3193) Downscale the batch size
- [#3195](https://github.com/grafana/k6/pull/3195) Make sure to use the overwritten config
- [#3206](https://github.com/grafana/k6/pull/3206) Implement concurrent pushes accross batches
- [#3226](https://github.com/grafana/k6/pull/3226) don't go over maxSeriesInBatch

## _Optional_ Roadmap

_Discussion of future plans_
Loading