Limits on sending results to cloud for free accounts

Hi.

I’m running some tests with a local k6 instance, and using the --out cloud option to send the results to k6 cloud, to inspect the results.

I have a free/trial account at the moment.

Is there a limit to how many test run results I can send to/store in cloud while on a free account?

The pricing page seems to focus mostly on running the test in the cloud, which I do not need currently.

Hi @mortenbock!

We do not distinguish between tests run on our Cloud and tests run locally where only the results are streamed; we still incur storage costs either way and these are actually what cost us the most.

The Free Trial is limited to 50 test runs.

I see. Does this also mean that with the “Developer” plan, I would not be able to stream test results from tests longer than 15 minutes to the cloud?

In the cloud platform, I can get data about the performance for each url. Can I also get that data for the CSV or JSON output?

Or are these detailed stats only available for the external output providers?

Also, if I delete a test result, will that release a “spot” of the 50?

Hi @mortenbock,

Does this also mean that with the “Developer” plan, I would not be able to stream test results from tests longer than 15 minutes to the cloud?

That is correct.

In the cloud platform, I can get data about the performance for each url. Can I also get that data for the CSV or JSON output?

The CSV/JSON outputs will contain the raw/unaggregated metrics and so that’s probably not what you want. If you want the end-of-test summary to contain the performance breakdown for individual URLs/endpoints, until we implement #1321, you’ll need to create a threshold for each unique URL you want the statistics of.

For example:

import http from 'k6/http';

export const options = {
  thresholds: {
    'http_req_duration{url:https://httpbin.test.k6.io/anything}': ['max>=0'], // will always pass
    'http_req_duration{url:https://httpbin.test.k6.io/}': ['p(95)<=80'] // an actual threshold
  }
}

export default function () {
  http.get('https://httpbin.test.k6.io/anything');

  http.get('https://httpbin.test.k6.io/');
}

Will generate output that looks like this:

     data_received...................................: 161 kB 437 kB/s
     data_sent.......................................: 5.7 kB 16 kB/s
     http_req_blocked................................: avg=77.79ms  min=0s       med=76.79ms  max=158.57ms p(90)=157.68ms p(95)=158.57ms
     http_req_connecting.............................: avg=32.63ms  min=0s       med=31.61ms  max=68.63ms  p(90)=66.33ms  p(95)=67.41ms
     http_req_duration...............................: avg=96.55ms  min=79.32ms  med=87.05ms  max=122.25ms p(90)=117.36ms p(95)=118.04ms
       { expected_response:true }....................: avg=96.55ms  min=79.32ms  med=87.05ms  max=122.25ms p(90)=117.36ms p(95)=118.04ms
     ✗ { url:https://httpbin.test.k6.io/ }...........: avg=110.03ms min=81.29ms  med=115.58ms max=122.25ms p(90)=118.26ms p(95)=120.26ms
     ✓ { url:https://httpbin.test.k6.io/anything }...: avg=83.07ms  min=79.32ms  med=82.82ms  max=88.66ms  p(90)=85.76ms  p(95)=87.21ms
     http_req_failed.................................: 0.00%  ✓ 0         ✗ 20
     http_req_receiving..............................: avg=3ms      min=0s       med=0s       max=19.92ms  p(90)=12.1ms   p(95)=16.2ms
     http_req_sending................................: avg=0s       min=0s       med=0s       max=0s       p(90)=0s       p(95)=0s
     http_req_tls_handshaking........................: avg=44.39ms  min=0s       med=42.61ms  max=90.35ms  p(90)=90.35ms  p(95)=90.35ms
     http_req_waiting................................: avg=93.54ms  min=69.62ms  med=85.43ms  max=117.82ms p(90)=117.3ms  p(95)=117.33ms
     http_reqs.......................................: 20     54.455064/s
     iteration_duration..............................: avg=349.52ms min=315.19ms med=355.22ms max=366.27ms p(90)=362.28ms p(95)=364.27ms
     iterations......................................: 10     27.227532/s

Also, if I delete a test result, will that release a “spot” of the 50?

It would not.