Skip to content

Commit a973a6a

Browse files
Merge pull request grafana#641 from loadimpact/release/v0.21.0
Release v0.21.0
2 parents 138fcb5 + 173c523 commit a973a6a

File tree

3 files changed

+140
-121
lines changed

3 files changed

+140
-121
lines changed

cmd/root.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ import (
3434
"github.com/spf13/cobra"
3535
)
3636

37-
var Version = "0.21.0-dev"
37+
var Version = "0.21.0"
3838
var Banner = `
3939
/\ |‾‾| /‾‾/ /‾/
4040
/\ / \ | |_/ / / /

release notes/upcoming.md

+5-120
Original file line numberDiff line numberDiff line change
@@ -2,127 +2,12 @@ TODO: Intro
22

33
## New Features!
44

5-
### CLI/Options: Add `--tag` flag and `tags` option to set test-wide tags (#553)
5+
### Category: Title (#533)
66

7-
You can now specify any number of tags on the command line using the `--tag NAME=VALUE` flag. You can also use the `tags` option to the set tags in the code.
7+
Description of feature.
88

9-
The specified tags will be applied across all metrics. However if you have set a tag with the same name on a request, check or custom metric in the code that tag value will have precedence.
9+
**Docs**: [Title](http://k6.readme.io/docs/TODO)
1010

11-
Thanks to @antekresic for their work on this!
11+
## Bugs fixed!
1212

13-
**Docs**: [Test wide tags](https://docs.k6.io/v1.0/docs/tags-and-groups#section-test-wide-tags) and [Options](https://docs.k6.io/v1.0/docs/options#section-available-options)
14-
15-
### CLI/Options: Add `--summary-time-unit` flag (#638)
16-
17-
You can now specify the time unit used to show the summary trend stats. It can be: 's' for seconds, 'ms' for milliseconds or 'us' microseconds.
18-
19-
```bash
20-
$ k6 run --summary-time-unit ms ~/script.js
21-
```
22-
23-
**Docs**: [Options](https://docs.k6.io/v1.0/docs/options#section-available-options)
24-
25-
### k6/http: Support for HTTP NTLM Authentication (#556)
26-
27-
```js
28-
import http from "k6/http";
29-
import { check } from "k6";
30-
31-
export default function() {
32-
// Passing username and password as part of URL plus the auth option will authenticate using HTTP Digest authentication
33-
let res = http.get("http://user:[email protected]/path", {auth: "ntlm"});
34-
35-
// Verify response
36-
check(res, {
37-
"status is 200": (r) => r.status === 200
38-
});
39-
}
40-
```
41-
42-
**Docs**: [HTTP Params](http://k6.readme.io/docs/params-k6http)
43-
44-
### HAR converter: Add support for correlating JSON values (#516)
45-
46-
There is now support for correlating JSON values in recordings, replacing recorded request values with references to the previous response.
47-
48-
Thanks to @cyberw for their work on this!
49-
50-
### InfluxDB output: Add support for sending certain sample tags as fields (#585)
51-
52-
Since InfluxDB indexes tags, highly variable information like `vu`, `iter` or even `url` may lead to high memory usage. The InfluxDB documentation [recommends](https://docs.influxdata.com/influxdb/v1.5/concepts/schema_and_data_layout/#encouraged-schema-design) to use fields in that case, which is what k6 does now. There is a new `INFLUXDB_TAGS_AS_FIELDS` option (`collectors.influxdb.tagsAsFields` in the global k6 JSON config) that specifies which of the tags k6 emits will be sent as fields to InfluxDB. By default that's only `url` (but not `name`), `vu` and `iter` (if enabled).
53-
54-
Thanks to @danron for their work on this!
55-
56-
### Configurable setup and teardown timeouts (#602)
57-
58-
Previously the `setup()` and `teardown()` functions timed out after 10 seconds. Now that period is configurable via the `setupTimeout` and `teardownTimeout` script options or the `K6_SETUP_TIMEOUT` and `K6_TEARDOWN_TIMEOUT` environment variables. The default timeouts are still 10 seconds and at this time there are no CLI options for changing them to avoid clutter.
59-
60-
### In-client aggregation for metrics streamed to the cloud (#600)
61-
62-
Metrics streamed to the Load Impact cloud can be partially aggregated to reduce bandwidth usage and processing times. Outlier metrics are automatically detected and excluded from that aggregation.
63-
64-
**Docs**: [Load Impact Insights Aggregation](https://docs.k6.io/docs/load-impact-insights#section-aggregation)
65-
66-
### HAR converter: Set more realistic sleep time (#608)
67-
68-
The default sleep time added at the end of the generated test has been changed from 2-4s to 20-40s to be more realistic (although still probably on the low end for some types of sites [1][2]).
69-
70-
[1] - https://moz.com/blog/ecommerce-benchmark-kpi-study-2017
71-
[2] - https://www.brafton.com/blog/strategy/brafton-2017-content-marketing-benchmark-report/
72-
73-
### Remote IP address as an optional system metric tag (#616)
74-
75-
It's now possible to add the remote server's IP address to the tags for HTTP and WebSocket metrics. The `ip` [system tag](https://docs.k6.io/docs/tags-and-groups#section-system-tags) is not included by default, but it could easily be enabled by modifying the `systemTags` [option](https://docs.k6.io/docs/options).
76-
77-
### Raw log format (#634)
78-
There is a new log format called `raw`. When used, it will print only the log message without adding any debug information like, date or the log level. It should be useful for debuging scripts when printing a HTML response for example.
79-
80-
```
81-
$ k6 run --log-format raw ~/script.js
82-
```
83-
84-
### Option to output metrics to Apache Kafka (#617)
85-
86-
There is now support for outputing metrics to Apache Kafka! You can configure a Kafka broker (or multiple ones), topic and message format directly from the command line like this:
87-
88-
`k6 --out kafka=brokers={broker1,broker2},topic=k6,format=json`
89-
90-
The default `format` is `json`, but you can also use the [InfluxDB line protocol](https://docs.influxdata.com/influxdb/v1.5/write_protocols/line_protocol_tutorial/) for direct ingestion by InfluxDB:
91-
92-
`k6 --out kafka=brokers=my_broker_host,topic=k6metrics,format=influxdb`
93-
94-
You can even specify format options such as the [`tagsAsFields` option](#influxdb-output-add-support-for-sending-certain-sample-tags-as-fields-585) for InfluxDB:
95-
96-
`k6 --out kafka=brokers=someBroker,topic=someTopic,format=influxdb,influxdb.tagsAsFields={url,name,myCustomTag}`
97-
98-
**Docs**: [Apache Kafka output](https://docs.k6.io/docs/results-output#section-apache-kafka-output)
99-
100-
Thanks to @jmccann for their work on this!
101-
102-
103-
### Multiple outputs (#624)
104-
105-
It's now possible to simultaneously send the emitted metrics to several outputs by using the CLI `--out` flag multiple times, for example:
106-
`k6 run --out json=test.json --out influxdb=http://localhost:8086/k6`
107-
108-
Thanks to @jmccann for their work on this!
109-
110-
## UX
111-
112-
* Clearer error message when using `open` function outside init context (#563)
113-
* Better error message when a script or module can't be found (#565). Thanks to @antekresic for their work on this!
114-
115-
## Internals
116-
117-
* Removed all httpbin.org usage in tests, now a local transient HTTP server is used instead (#555). Thanks to @mccutchen for the great [go-httpbin](https://github.com/mccutchen/go-httpbin) library!
118-
* Fixed various data races and enabled automated testing with `-race` (#564)
119-
120-
## Bugs
121-
* Archive: archives generated on Windows can now run on *nix and vice versa. (#566)
122-
* Submetrics are being tagged properly now. (#609)
123-
* HTML: fixed the `Selection.each(fn)` function, which was returning only the first element. (#610)
124-
* Invalid Stages option won't keep k6 running indefinitely. (#615)
125-
* the `--no-color` option is now being repected for the logs. (#634)
126-
127-
## Breaking changes
128-
* The Load Impact cloud configuration options `no_compress` and `project_id` and the `payload_size` InfluxDB option have been renamed to `noCompress`, `projectID` and `payloadSize` respectively, to match the other JS option names.
13+
* Category: description of bug. (#PR)

release notes/v0.21.0.md

+134
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
v0.21.0 is here! :tada:
2+
3+
We're happy to see continued contributions from members of the community in this release, from 4 people outside of Load Impact this time around. A big thanks to the following people for contributing to this release: @antekresic, @cyberw, @danron and @jmccann. Also, thanks to everyone that contributed in other ways on Github, in Slack and for spreading the word about k6!
4+
5+
To see the current plan for the next release, check out [this milestone](https://github.com/loadimpact/k6/milestone/4), which we aim to make the v1.0 release!
6+
7+
Have a look at [our roadmap](https://github.com/loadimpact/k6/wiki/Roadmap) for what's up ahead, beyond the v1.0 release.
8+
9+
## New Features!
10+
11+
### CLI/Options: Add `--tag` flag and `tags` option to set test-wide tags (#553)
12+
13+
You can now specify any number of tags on the command line using the `--tag NAME=VALUE` flag. You can also use the `tags` option to the set tags in the code.
14+
15+
The specified tags will be applied across all metrics. However if you have set a tag with the same name on a request, check or custom metric in the code that tag value will have precedence.
16+
17+
Thanks to @antekresic for their work on this!
18+
19+
**Docs**: [Test wide tags](https://docs.k6.io/v1.0/docs/tags-and-groups#section-test-wide-tags) and [Options](https://docs.k6.io/v1.0/docs/options#section-available-options)
20+
21+
### CLI/Options: Add `--summary-time-unit` flag (#638)
22+
23+
You can now specify the time unit used to show the summary trend stats. It can be: 's' for seconds, 'ms' for milliseconds or 'us' microseconds.
24+
25+
```bash
26+
$ k6 run --summary-time-unit ms ~/script.js
27+
```
28+
29+
**Docs**: [Options](https://docs.k6.io/v1.0/docs/options#section-available-options)
30+
31+
### k6/http: Support for HTTP NTLM Authentication (#556)
32+
33+
```js
34+
import http from "k6/http";
35+
import { check } from "k6";
36+
37+
export default function() {
38+
// Passing username and password as part of URL plus the auth option will authenticate using HTTP Digest authentication
39+
let res = http.get("http://user:[email protected]/path", {auth: "ntlm"});
40+
41+
// Verify response
42+
check(res, {
43+
"status is 200": (r) => r.status === 200
44+
});
45+
}
46+
```
47+
48+
**Docs**: [HTTP Params](http://k6.readme.io/docs/params-k6http)
49+
50+
### HAR converter: Add support for correlating JSON values (#516)
51+
52+
There is now support for correlating JSON values in recordings, replacing recorded request values with references to the previous response.
53+
54+
Thanks to @cyberw for their work on this!
55+
56+
### InfluxDB output: Add support for sending certain sample tags as fields (#585)
57+
58+
Since InfluxDB indexes tags, highly variable information like `vu`, `iter` or even `url` may lead to high memory usage. The InfluxDB documentation [recommends](https://docs.influxdata.com/influxdb/v1.5/concepts/schema_and_data_layout/#encouraged-schema-design) to use fields in that case, which is what k6 does now. There is a new `INFLUXDB_TAGS_AS_FIELDS` option (`collectors.influxdb.tagsAsFields` in the global k6 JSON config) that specifies which of the tags k6 emits will be sent as fields to InfluxDB. By default that's only `url` (but not `name`), `vu` and `iter` (if enabled).
59+
60+
Thanks to @danron for their work on this!
61+
62+
### Configurable setup and teardown timeouts (#602)
63+
64+
Previously the `setup()` and `teardown()` functions timed out after 10 seconds. Now that period is configurable via the `setupTimeout` and `teardownTimeout` script options or the `K6_SETUP_TIMEOUT` and `K6_TEARDOWN_TIMEOUT` environment variables. The default timeouts are still 10 seconds and at this time there are no CLI options for changing them to avoid clutter.
65+
66+
### In-client aggregation for metrics streamed to the cloud (#600)
67+
68+
Metrics streamed to the Load Impact cloud can be partially aggregated to reduce bandwidth usage and processing times. Outlier metrics are automatically detected and excluded from that aggregation.
69+
70+
**Docs**: [Load Impact Insights Aggregation](https://docs.k6.io/docs/load-impact-insights#section-aggregation)
71+
72+
### HAR converter: Set more realistic sleep time (#608)
73+
74+
The default sleep time added at the end of the generated test has been changed from 2-4s to 20-40s to be more realistic (although still probably on the low end for some types of sites [1][2]).
75+
76+
[1] - https://moz.com/blog/ecommerce-benchmark-kpi-study-2017
77+
[2] - https://www.brafton.com/blog/strategy/brafton-2017-content-marketing-benchmark-report/
78+
79+
### Remote IP address as an optional system metric tag (#616)
80+
81+
It's now possible to add the remote server's IP address to the tags for HTTP and WebSocket metrics. The `ip` [system tag](https://docs.k6.io/docs/tags-and-groups#section-system-tags) is not included by default, but it could easily be enabled by modifying the `systemTags` [option](https://docs.k6.io/docs/options).
82+
83+
### Raw log format (#634)
84+
There is a new log format called `raw`. When used, it will print only the log message without adding any debug information like, date or the log level. It should be useful for debuging scripts when printing a HTML response for example.
85+
86+
```
87+
$ k6 run --log-format raw ~/script.js
88+
```
89+
90+
### Option to output metrics to Apache Kafka (#617)
91+
92+
There is now support for outputing metrics to Apache Kafka! You can configure a Kafka broker (or multiple ones), topic and message format directly from the command line like this:
93+
94+
`k6 --out kafka=brokers={broker1,broker2},topic=k6,format=json`
95+
96+
The default `format` is `json`, but you can also use the [InfluxDB line protocol](https://docs.influxdata.com/influxdb/v1.5/write_protocols/line_protocol_tutorial/) for direct ingestion by InfluxDB:
97+
98+
`k6 --out kafka=brokers=my_broker_host,topic=k6metrics,format=influxdb`
99+
100+
You can even specify format options such as the [`tagsAsFields` option](#influxdb-output-add-support-for-sending-certain-sample-tags-as-fields-585) for InfluxDB:
101+
102+
`k6 --out kafka=brokers=someBroker,topic=someTopic,format=influxdb,influxdb.tagsAsFields={url,name,myCustomTag}`
103+
104+
**Docs**: [Apache Kafka output](https://docs.k6.io/docs/results-output#section-apache-kafka-output)
105+
106+
Thanks to @jmccann for their work on this!
107+
108+
109+
### Multiple outputs (#624)
110+
111+
It's now possible to simultaneously send the emitted metrics to several outputs by using the CLI `--out` flag multiple times, for example:
112+
`k6 run --out json=test.json --out influxdb=http://localhost:8086/k6`
113+
114+
Thanks to @jmccann for their work on this!
115+
116+
## UX
117+
118+
* Clearer error message when using `open` function outside init context (#563)
119+
* Better error message when a script or module can't be found (#565). Thanks to @antekresic for their work on this!
120+
121+
## Internals
122+
123+
* Removed all httpbin.org usage in tests, now a local transient HTTP server is used instead (#555). Thanks to @mccutchen for the great [go-httpbin](https://github.com/mccutchen/go-httpbin) library!
124+
* Fixed various data races and enabled automated testing with `-race` (#564)
125+
126+
## Bugs
127+
* Archive: archives generated on Windows can now run on *nix and vice versa. (#566)
128+
* Submetrics are being tagged properly now. (#609)
129+
* HTML: fixed the `Selection.each(fn)` function, which was returning only the first element. (#610)
130+
* Invalid Stages option won't keep k6 running indefinitely. (#615)
131+
* the `--no-color` option is now being repected for the logs. (#634)
132+
133+
## Breaking changes
134+
* The Load Impact cloud configuration options `no_compress` and `project_id` and the `payload_size` InfluxDB option have been renamed to `noCompress`, `projectID` and `payloadSize` respectively, to match the other JS option names.

0 commit comments

Comments
 (0)