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

Add tracing instrumentation release notes #3477

Merged
merged 2 commits into from
Dec 1, 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
20 changes: 20 additions & 0 deletions release notes/v0.48.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,26 @@ const redisClient = new redis.Client({
```
</details>

### Add tracing instrumentation [#3445](https://github.com/grafana/k6/pull/3445)

`k6` now supports a new *traces output* option that allows to configure the output for traces generated during its execution. This option can be set through the `--traces-output` argument in `k6 run` command or by setting the `K6_TRACES_OUTPUT` environment variable.

Currently no traces are generated by `k6` itself, but this feature represents the first step towards richer tracing functionalities in `k6` and its extensions.

By default traces output is set to `none`, and currently the only supported output is `otel` which uses the [opentelemetry-go](https://github.com/open-telemetry/opentelemetry-go)'s [Open Telemetry](https://opentelemetry.io/) API and SDK implementations. The format for the `otel` *traces output* configuration is the following:

```
--traces-output=<endpoint>[,opt1=val1,opt2=val2]
```
Where `opt`s can be one of the following options:
* `proto`: Specifies the protocol to use in the connection to the traces backend. Supports `grpc` *(default)* and `http`.
* `header.<header_name>`: Specifies an additional header to include in the connection to the traces backend.

Example:
```
K6_TRACES_OUTPUT=https://traces.k6.io/v1/traces,proto=http,header.Authorization=Bearer token
```
Comment on lines +172 to +179
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would like to replace it with just a link to the documentation.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we want to link to the documentation, then I would say we should remove the last part since:

The format for the otel traces output configuration is the following:
...

Otherwise mentioning the format without mentioning the details in the release notes might not be the best. In any case, for me it's always tricky to decide what is included in the release notes and what is left for documentation. In this case I think the content is not so long so it can be included directly in the release notes, without requiring our users to go to the docs, but no strong opinion.


### Add support for browser module's `page.throttleCPU` [browser#1095](https://github.com/grafana/xk6-browser/pull/1095)

Allows users to throttle the CPU from chrome/chromium's perspective, which helps emulate slower devices when testing the website's frontend. The mandatory argument is of type `CPUProfile`, which is made up of one field named `rate` that is a slow down factor, where `1` means no throttling, and `2` means 2x slowdown, and so on. The documentation for this API can be found [here](https://grafana.com/docs/k6/v0.48.x/javascript-api/k6-experimental/browser/page/throttlecpu).
Expand Down
Loading