End of test
When a test finishes, k6 prints a summary of the aggregated results to stdout. By default, k6 uses a “compact” summary mode that focuses on the most important metrics, but you can also use a “full” mode that shows all available information.
Summary modes
k6 provides three different ways to display test results through the
--summary-mode option:
- compact (default): Displays the most relevant test results in a concise format.
- full: Includes everything from the compact format, plus additional k6 metrics and detailed results for each group and scenario.
- legacy: Uses the pre-v1.0.0 summary format for backward compatibility.
Compact mode (default)
The compact mode provides a concise overview focusing on three key aspects:
- Thresholds results
- Checks results
- Aggregated metrics results by category
  █ THRESHOLDS
    http_req_duration
    ✓ 'p(95)<1500' p(95)=148.21ms
    ✓ 'p(90)<2000' p(90)=146.88ms
    http_req_failed
    ✓ 'rate<0.01' rate=0.00%
  █ TOTAL RESULTS
    checks_total.......................: 90      13.122179/s
    checks_succeeded...................: 100.00% 90 out of 90
    checks_failed......................: 0.00%   0 out of 90
    ✓ test-api.k6.io is up
    ✓ status is 200
    CUSTOM
    custom_waiting_time................: avg=152.355556 min=120      med=141      max=684      p(90)=147.2    p(95)=148.8
    HTTP
    http_req_duration..................: avg=140.36ms   min=119.08ms med=140.96ms max=154.63ms p(90)=146.88ms p(95)=148.21ms
      { expected_response:true }.......: avg=140.36ms   min=119.08ms med=140.96ms max=154.63ms p(90)=146.88ms p(95)=148.21ms
    http_req_failed....................: 0.00%  0 out of 45
    http_reqs..........................: 45     6.56109/s
    EXECUTION
    iteration_duration.................: avg=152.38ms   min=119.37ms med=141.27ms max=684.62ms p(90)=147.11ms p(95)=148.39ms
    iterations.........................: 45     6.56109/s
    vus................................: 1      min=1       max=1
    vus_max............................: 1      min=1       max=1
    NETWORK
    data_received......................: 519 kB 76 kB/s
    data_sent..........................: 4.9 kB 718 B/sFull mode
The full mode provides comprehensive test results, including:
- All information from compact mode
- Group-specific results
- Scenario-specific results
For example:
  █ THRESHOLDS
    http_req_duration
    ✓ 'p(95)<1500' p(95)=145.17ms
    ✓ 'p(90)<2000' p(90)=132.76ms
    http_req_failed
    ✓ 'rate<0.01' rate=0.00%
  █ TOTAL RESULTS
    checks_total.......................: 110     19.569305/s
    checks_succeeded...................: 100.00% 110 out of 110
    checks_failed......................: 0.00%   0 out of 110
    ✓ grafana.com is up
    ✓ status is 200
    ✓ test-api.k6.io is up
    ✓ crocodile exists
    CUSTOM
    custom_waiting_time................: avg=92.444444 min=56      med=63       max=365      p(90)=120      p(95)=121
    HTTP
    http_req_blocked...................: avg=4.36ms    min=0s      med=5µs      max=245.04ms p(90)=13µs     p(95)=14.59µs
    http_req_connecting................: avg=1.99ms    min=0s      med=0s       max=115.51ms p(90)=0s       p(95)=0s
    http_req_duration..................: avg=105.72ms  min=56.31ms med=117.44ms max=328.62ms p(90)=132.76ms p(95)=145.17ms
      { expected_response:true }.......: avg=105.72ms  min=56.31ms med=117.44ms max=328.62ms p(90)=132.76ms p(95)=145.17ms
    http_req_failed....................: 0.00%  0 out of 65
    http_req_receiving.................: avg=11.83ms   min=39µs    med=168µs    max=54.2ms   p(90)=30.73ms  p(95)=31.49ms
    http_req_sending...................: avg=43.32µs   min=11µs    med=27µs     max=485µs    p(90)=74.2µs   p(95)=81.59µs
    http_req_tls_handshaking...........: avg=2.3ms     min=0s      med=0s       max=127.41ms p(90)=0s       p(95)=0s
    http_req_waiting...................: avg=93.85ms   min=26.54ms med=117.12ms max=328.38ms p(90)=132.61ms p(95)=145.11ms
    http_reqs..........................: 65     11.56368/s
    EXECUTION
    iteration_duration.................: avg=159.31ms  min=56.45ms med=62.65ms  max=570.47ms p(90)=258.2ms  p(95)=350.51ms
    iterations.........................: 45     8.005625/s
    vus................................: 1      min=1       max=2
    vus_max............................: 2      min=2       max=2
    NETWORK
    data_received......................: 7.1 MB 1.3 MB/s
    data_sent..........................: 32 kB  5.6 kB/s
  █ SCENARIO: left
    checks_total.......................: 60      10.674166/s
    checks_succeeded...................: 100.00% 60 out of 60
    checks_failed......................: 0.00%   0 out of 60
    ✓ test-api.k6.io is up
    ✓ status is 200
    ✓ crocodile exists
    CUSTOM
    custom_waiting_time................: avg=130.6    min=116      med=118      max=365      p(90)=121      p(95)=133.2
    HTTP
    http_req_blocked...................: avg=6.13ms   min=2µs      med=6µs      max=245.04ms p(90)=13µs     p(95)=15.99µs
    http_req_connecting................: avg=2.88ms   min=0s       med=0s       max=115.51ms p(90)=0s       p(95)=0s
    http_req_duration..................: avg=134.17ms min=116.42ms med=122.02ms max=328.62ms p(90)=140.36ms p(95)=207.85ms
    http_req_failed....................: 0.00%  0 out of 40
    http_req_receiving.................: avg=128.64µs min=39µs     med=88µs     max=630µs    p(90)=207µs    p(95)=234.04µs
    http_req_sending...................: avg=21.82µs  min=11µs     med=20µs     max=44µs     p(90)=29.3µs   p(95)=34.05µs
    http_req_tls_handshaking...........: avg=3.18ms   min=0s       med=0s       max=127.41ms p(90)=0s       p(95)=0s
    http_req_waiting...................: avg=134.02ms min=116.32ms med=121.93ms max=328.38ms p(90)=140.29ms p(95)=207.73ms
    http_reqs..........................: 40     7.116111/s
    EXECUTION
    iteration_duration.................: avg=281.02ms min=239.75ms med=249.02ms max=570.47ms p(90)=379.3ms  p(95)=455.72ms
    iterations.........................: 20     3.558055/s
    NETWORK
    data_received......................: 239 kB 43 kB/s
    data_sent..........................: 4.8 kB 857 B/s
    ↳ GROUP: crocodiles results
      checks_total.....................: 20      3.558055/s
      checks_succeeded.................: 100.00% 20 out of 20
      checks_failed....................: 0.00%   0 out of 20
      ✓ crocodile exists
      HTTP
      http_req_blocked.................: avg=7.75µs   min=4µs      med=6µs      max=35µs     p(90)=9.4µs    p(95)=14.09µs
      http_req_connecting..............: avg=0s       min=0s       med=0s       max=0s       p(90)=0s       p(95)=0s
      http_req_duration................: avg=150.15ms min=122.84ms med=130.79ms max=328.62ms p(90)=210.14ms p(95)=255.24ms
      http_req_failed..................: 0.00% 0 out of 20
      http_req_receiving...............: avg=130.99µs min=43µs     med=95.5µs   max=558µs    p(90)=207µs    p(95)=233.09µs
      http_req_sending.................: avg=19.95µs  min=13µs     med=19µs     max=35µs     p(90)=23.2µs   p(95)=25.49µs
      http_req_tls_handshaking.........: avg=0s       min=0s       med=0s       max=0s       p(90)=0s       p(95)=0s
      http_req_waiting.................: avg=150ms    min=122.78ms med=130.46ms max=328.38ms p(90)=210.01ms p(95)=255.02ms
      http_reqs........................: 20    3.558055/sUnderstanding the summary components
The summary report organizes information into several key sections:
Metrics by category
The summary displays metrics based on their source:
- Protocol-specific metrics: Results from modules like k6/http,k6/net/grpc, ork6/browser
- Execution metrics: Test execution details like iterations and virtual users (VUs)
- Network metrics: Data transfer statistics
Note
Categories appear only when relevant. For example, browser metrics appear only when using the
k6/browsermodule.
Checks and thresholds
- Thresholds: Pass/fail results of performance requirements defined in your test options - Example: Response time limits or error rate limits
- Always displayed at the top of the results
- Clear indication of success (✓) or failure (✗)
 
- Checks: Results of test assertions that verify specific behaviors - Example: Response status codes or response body content
- Shows pass/fail ratio for each check
- In full mode, checks appear under their respective groups or scenarios
 
Groups and scenarios (full mode only)
When using full mode, you’ll see additional sections:
- Groups: Results for logical groupings of related requests
- Scenarios: Results for each test scenario configuration
Summary options
Customize the summary output with these options:
- --summary-mode: Choose between compact, full, or legacy display
- --no-summary: Disable the end-of-test report
- --summary-trend-stats: Select which statistics to show for Trend metrics
- --summary-time-unit: Set a consistent time unit for all values
Going further
k6 offers additional ways to process and analyze test results:
- Custom summaries: Create your own summary format with complete control over the output
- Real-time output: Stream metrics during the test run and:- Save them to a CSV or JSON file.
- Send them to an external service.
 






