Important: This documentation is about an older version. It's relevant only to the release noted, many of the features and functions have been updated or replaced. Please view the current version.
End of test
When a test finishes, k6 prints a top-level overview of the aggregated results to stdout
.
checks.........................: 50.00% ✓ 45 ✗ 45
data_received..................: 1.3 MB 31 kB/s
data_sent......................: 81 kB 2.0 kB/s
group_duration.................: avg=6.45s min=4.01s med=6.78s max=10.15s p(90)=9.29s p(95)=9.32s
http_req_blocked...............: avg=57.62ms min=7µs med=12.25µs max=1.35s p(90)=209.41ms p(95)=763.61ms
http_req_connecting............: avg=20.51ms min=0s med=0s max=1.1s p(90)=100.76ms p(95)=173.41ms
http_req_duration..............: avg=144.56ms min=104.11ms med=110.47ms max=1.14s p(90)=203.54ms p(95)=215.95ms
{ expected_response:true }...: avg=144.56ms min=104.11ms med=110.47ms max=1.14s p(90)=203.54ms p(95)=215.95ms
http_req_failed................: 0.00% ✓ 0 ✗ 180
http_req_receiving.............: avg=663.96µs min=128.46µs med=759.82µs max=1.66ms p(90)=1.3ms p(95)=1.46ms
http_req_sending...............: avg=88.01µs min=43.07µs med=78.03µs max=318.81µs p(90)=133.15µs p(95)=158.3µs
http_req_tls_handshaking.......: avg=29.25ms min=0s med=0s max=458.71ms p(90)=108.31ms p(95)=222.46ms
http_req_waiting...............: avg=143.8ms min=103.5ms med=109.5ms max=1.14s p(90)=203.19ms p(95)=215.56ms
http_reqs......................: 180 4.36938/s
iteration_duration.............: avg=12.91s min=12.53s med=12.77s max=14.35s p(90)=13.36s p(95)=13.37s
iterations.....................: 45 1.092345/s
vus............................: 1 min=1 max=19
vus_max........................: 20 min=20 max=20
Besides this default summary, k6 can output the results in other formats at the end of the test:
On this page | Result format | Read about… |
---|---|---|
Custom summary | Aggregated | Using the handleSummary() to make completely custom reports |
CSV | Time-stamped data points | Writing results as a CSV file, and the structure of the data |
JSON | Time-stamped data points | Writing results as a JSON file, and the structure of the data |
The default summary
The end-of-test summary reports details and aggregated statistics for the primary aspects of the test:
- Summary statistics about each built-in and custom metric (e.g. mean, median, p95, etc).
- A list of the test’s groups and scenarios
- The pass/fail results of the test’s thresholds and checks.
Ramp_Up ✓ [======================================] 00/20 VUs 30s
█ GET home - https://example.com/
✓ status equals 200
█ Create resource - https://example.com/create
✗ status equals 201
↳ 0% — ✓ 0 / ✗ 45
checks.........................: 50.00% ✓ 45 ✗ 45
data_received..................: 1.3 MB 31 kB/s
data_sent......................: 81 kB 2.0 kB/s
group_duration.................: avg=6.45s min=4.01s med=6.78s max=10.15s p(90)=9.29s p(95)=9.32s
http_req_blocked...............: avg=57.62ms min=7µs med=12.25µs max=1.35s p(90)=209.41ms p(95)=763.61ms
http_req_connecting............: avg=20.51ms min=0s med=0s max=1.1s p(90)=100.76ms p(95)=173.41ms
✗ http_req_duration..............: avg=144.56ms min=104.11ms med=110.47ms max=1.14s p(90)=203.54ms p(95)=215.95ms
{ expected_response:true }...: avg=144.56ms min=104.11ms med=110.47ms max=1.14s p(90)=203.54ms p(95)=215.95ms
http_req_failed................: 0.00% ✓ 0 ✗ 180
http_req_receiving.............: avg=663.96µs min=128.46µs med=759.82µs max=1.66ms p(90)=1.3ms p(95)=1.46ms
http_req_sending...............: avg=88.01µs min=43.07µs med=78.03µs max=318.81µs p(90)=133.15µs p(95)=158.3µs
http_req_tls_handshaking.......: avg=29.25ms min=0s med=0s max=458.71ms p(90)=108.31ms p(95)=222.46ms
http_req_waiting...............: avg=143.8ms min=103.5ms med=109.5ms max=1.14s p(90)=203.19ms p(95)=215.56ms
http_reqs......................: 180 4.36938/s
iteration_duration.............: avg=12.91s min=12.53s med=12.77s max=14.35s p(90)=13.36s p(95)=13.37s
iterations.....................: 45 1.092345/s
vus............................: 1 min=1 max=19
vus_max........................: 20 min=20 max=20
ERRO[0044] some thresholds have failed
Above’s an example of a report that k6 generated after a test run.
- It has a scenario,
Ramp_Up
- The requests are split into two groups:
GET home
, which has a check that responses are200
(all passed)Create resource
, which has a check that responses are201
(all failed)
- The test has one threshold, requiring that 95% of requests have a duration under 200ms (failed)
Summary options
k6 provides some options to filter or silence summary output:
- The
--summary-trend-stats
option defines which Trend metric statistics to calculate and show. - The
--summary-time-unit
option forces k6 to use a fixed-time unit for all time values in the summary. - The
--no-summary
option completely disables report generation, including--summary-export
andhandleSummary()
.
Summary export to a JSON file
k6 also has the --summary-export=path/to/file.json
option, which exports some summary report data to a JSON file.
The format of --summary-export
is similar to the data
parameter of the handleSummary()
function.
Unfortunately, the --summary-export
format is limited and has a few confusing peculiarities.
For example, groups and checks are unordered,
and threshold values are unintuitive: true
indicates the threshold failed, and false
that it succeeded.
We couldn’t change the --summary-export
data format, because it would have broken backward compatibility in a feature that people depended on in CI pipelines.
But, the recommended approach to export to a JSON file is to use the handleSummary()
function].
The --summary-export
option will likely be deprecated in the future.