---
title: "Export test results | Grafana Cloud documentation"
description: "Export your k6 test results as a PDF report or CSV file."
---

> For a curated documentation index, see [llms.txt](/llms.txt). For the complete documentation index, see [llms-full.txt](/llms-full.txt).

# Export test results

Your Grafana Cloud k6 test results provide a comprehensive overview of your application performance trends, which can help you detect patterns and uncover performance issues.

You can export your test results in two formats:

- A Grafana dashboard summary, which can then be exported as a PDF.
- A CSV file.

> Tip
> 
> To analyze test results with your own tools, you might not need to export them at all: test result metrics are stored in Grafana Cloud Metrics, and you can query them with PromQL through your stack’s Prometheus data source or from the command line in scripts and CI pipelines. Refer to [Test result metrics](/docs/grafana-cloud/testing/k6/reference/test-result-metrics/) for details.

## Export as Grafana dashboard summary

You can export your test results as a dashboard to track and share your data with other team members. The exported dashboard serves as an executive summary of the test results’ most relevant metrics and performance data.

### Before you begin

- You must have a Grafana Cloud account with the `dashboards:create` or `dashboards:write` permission.
  
  - If you only have the `dashboards:create` permission, you can only export summaries to the root folder.

For more information, refer to [RBAC permissions, actions, and scopes](/docs/grafana-cloud/account-management/authentication-and-permissions/access-control/custom-role-actions-scopes/).

### Export summary to dashboard

To export a summary:

1. Navigate to a specific test result.
2. Click the three-dots icon in the top right corner to open the test results menu.
3. Select **Export summary**.

This action opens a dialog box where you can choose a name and destination for the summary and customize its layout.

#### Choose a folder

> Note
> 
> You can only see this step if you have the `dashboards:write` permission.
> 
> Creating folders also requires the `folders:create` permission. If you don’t have permission to create folders, the option to create one won’t appear.

Under **Folder**, you can select the folder where your dashboard should be created.

You can also create a folder by selecting the **Folder** field, typing in the new folder name, and selecting **Create in a new folder called**.

#### Change layout

The editor includes several sections that you can include or exclude from your summary. Each section represents a time series graph for that metric over the test run time.

To customize the data included in the summary:

1. Expand the **Sections** section in the export dialog box.
2. Select the sections you want to include/exclude.

Summaries can contain HTTP and browser results. Different options are available depending on the data available in your test run.

If your test has HTTP data, the sections include:

Expand table

| Option        | Description                                 |
|---------------|---------------------------------------------|
| Enabled       | Include HTTP results in the summary.        |
| Response time | The response time in different percentiles. |
| Throughput    | The request rate.                           |
| Bandwidth     | The amount of data sent and received.       |

If your test has browser data, the sections include:

Expand table

| Option        | Description                                                   |
|---------------|---------------------------------------------------------------|
| Enabled       | Include browser results in the summary.                       |
| Loading       | Web Vitals affecting the perceived load speed.                |
| Interactivity | Web Vitals affecting user interactions.                       |
| Rendering     | Web Vitals affecting the rendering performance and stability. |

#### Additional options

You can find additional options under **Options**.

Expand table

| Option             | Description                                                   |
|--------------------|---------------------------------------------------------------|
| Include scenarios  | Add charts for each scenario in the test results.             |
| Include load zones | Add sections summarizing the test results for each load zone. |

### Edit summary and share as PDF

After generating the summary dashboard, you can [edit](/docs/grafana/latest/dashboards/build-dashboards/) and [share it](/docs/grafana/latest/visualizations/dashboards/share-dashboards-panels/) like any other dashboard.

For instance, you can share the summary as a PDF by using the [PDF export feature](/docs/grafana/latest/visualizations/dashboards/share-dashboards-panels/#export-a-dashboard-as-pdf) in Grafana.

## Export as CSV

To export a test result as a CSV file:

1. Select the test result you want to export.
2. Click the three-dots icon in the top-right, and select **Export data**.
   
   1. If you have already exported the data from a test result, you’ll see a **Download export data** option instead.
3. Click **Confirm** in the dialog box.

Depending on your test result, the CSV export might take some time. You can:

- Wait for the dialog box to update, and click **Download** once the report is ready, or;
- Close the tab and download the report when it’s ready by going to the test result page, clicking the three-dots icon in the top right, and selecting **Download export data**.

The exported data you can download is a ZIP file that contains a number of CSV files.

Each metric, such as VUs and HTTP requests, has its own separate file. The export also contains a `metrics.csv` file with the list of exported metrics.

A typical k6 HTTP test includes the following files:

Expand table

| File name                                        | Metric                                                                        | Columns                                                                                                                                                    |
|--------------------------------------------------|-------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `metrics.csv`                                    | Index of exported metrics                                                     | `metric`,`type`,`origin`                                                                                                                                   |
| `metric_checks.csv`                              | [checks](/using-k6/metrics/)                                                  | `time`,`metric`,`scenario`,`group`,`check`,`load_zone`,`tags`,`nz_count`,`count`                                                                           |
| `metric_data_received.csv`                       | [data\_received](/using-k6/metrics/)                                          | `time`,`metric`,`scenario`,`group`,`load_zone`,`tags`,`count`                                                                                              |
| `metric_data_sent.csv`                           | [data\_sent](/using-k6/metrics/)                                              | `time`,`metric`,`scenario`,`group`,`load_zone`,`tags`,`count`                                                                                              |
| `metric_group_duration.csv`                      | [group\_duration](/using-k6/tags-and-groups/)                                 | `time`,`metric`,`scenario`,`group`,`load_zone`,`tags`,`count`,`min`,`mean`,`median`,`p95`,`p99`,`max`,`stdev`                                              |
| `metric_http_reqs.csv`                           | [http\_reqs](/using-k6/metrics/#http-specific-built-in-metrics)               | `time`,`metric`,`group`,`scenario`,`name`,`method`,`status`,`expected_response`,`load_zone`,`tags`,`count`                                                 |
| `metric_http_req_duration.csv`                   | [http\_req\_duration](/using-k6/metrics/#http-specific-built-in-metrics)      | `time`,`metric`,`group`,`scenario`,`name`,`method`,`status`,`expected_response`,`load_zone`,`tags`,`count`,`min`,`mean`,`median`,`p95`,`p99`,`max`,`stdev` |
| `metric_iteration_duration.csv`                  | [iteration\_duration](/using-k6/metrics/)                                     | `time`,`metric`,`scenario`,`group`,`load_zone`,`tags`,`count`,`min`,`mean`,`median`,`p95`,`p99`,`max`,`stdev`                                              |
| `metric_iterations.csv`                          | [iterations](/using-k6/metrics/)                                              | `time`,`metric`,`scenario`,`group`,`load_zone`,`tags`,`count`                                                                                              |
| `metric_load_generator_ cpu_percent.csv`         | [load\_generator\_cpu\_percent](/using-k6/metrics/)                           | `time`,`metric`,`scenario`,`group`,`load_zone`,`tags`,`count`,`min`,`mean`,`max`,`last`                                                                    |
| `metric_load_generator_ file_handles.csv`        | [load\_generator\_file\_handles](/using-k6/metrics/)                          | `time`,`metric`,`scenario`,`group`,`load_zone`,`tags`,`count`,`min`,`mean`,`max`,`last`                                                                    |
| `metric_load_generator_ memory_used_percent.csv` | [load\_generator\_memory\_used\_percent](/using-k6/metrics/)                  | `time`,`metric`,`scenario`,`group`,`load_zone`,`tags`,`count`,`min`,`mean`,`max`,`last`                                                                    |
| `metric_vus.csv`                                 | [vus](/using-k6/metrics/)                                                     | `time`,`metric`,`scenario`,`group`,`load_zone`,`tags`,`count`,`min`,`mean`,`max`,`last`                                                                    |
| `metric_vus_max.csv`                             | [vus\_max](/using-k6/metrics/)                                                | `time`,`metric`,`scenario`,`group`,`load_zone`,`tags`,`count`,`min`,`mean`,`max`,`last`                                                                    |
| `metric_myCustomCounter.csv`                     | User-defined `myCustomCounter` [Counter](/javascript-api/k6-metrics/counter/) | `time`,`metric`,`scenario`,`group`,`load_zone`,`tags`,`count`                                                                                              |
| `metric_myCustomGauge.csv`                       | User-defined `myCustomGauge` [Gauge](/javascript-api/k6-metrics/gauge/)       | `time`,`metric`,`scenario`,`group`,`load_zone`,`tags`,`count`,`min`,`mean`,`max`,`last`                                                                    |
| `metric_myCustomRate.csv`                        | User-defined `myCustomRate` [Rate](/javascript-api/k6-metrics/rate/)          | `time`,`metric`,`scenario`,`group`,`load_zone`,`tags`,`nz_count`,`count`                                                                                   |
| `metric_myCustomTrend.csv`                       | User-defined `myCustomTrend` [Trend](/javascript-api/k6-metrics/trend/)       | `time`,`metric`,`scenario`,`group`,`load_zone`,`tags`,`count`,`min`,`mean`,`median`,`p95`,`p99`,`max`,`stdev`                                              |

The following table is a reference for the columns in the CSV data, with examples, data types, and descriptions.

Expand table

| Column      | Example                                | Type (unit)      | Description                                                                                          |
|-------------|----------------------------------------|------------------|------------------------------------------------------------------------------------------------------|
| `time`      | 2019-03-25 11:12:48.927949+00:00       | `datetime` (UTC) | The ISO-8601 timestamp when this data point was captured (when the HTTP request was made).           |
| `metric`    | `http_req_duration`                    | string           | The metric name that this data point represents.                                                     |
| `group`     | `my group`                             | string           | The group name [`group()`](/using-k6/tags-and-groups) from where this request was made.              |
| `scenario`  | default                                | string           | The name of the scenario that this metric was collected in.                                          |
| `url`       | `https://quickpizza.grafana.com/admin` | string           | The URL requested.                                                                                   |
| `method`    | GET                                    | string           | The HTTP method of the request that this data point represents.                                      |
| `status`    | 200                                    | number           | The HTTP response status code of the request that this data point represents.                        |
| `count`     | 1.0                                    | number           | Number of samples that this data point represents (if &gt; 1 `response_time` is an aggregate value). |
| `load_zone` | amazon:us:ashburn                      | string           | The load zone where the requests were sent from.                                                     |
| `tags`      | {“staticAsset”:“true”}                 | string           | JSON formatted list of `{"name": "value"}` tags as specified for the request in the script.          |
| `min`       | 1.008016                               | number (ms)      | The minimum response time for samples collected within the time bucket.                              |
| `mean`      | 3.008016                               | number (ms)      | The mean response time for samples collected within the time bucket.                                 |
| `median`    | 5.468016                               | number (ms)      | The median response time for samples collected within the time bucket.                               |
| `p95`       | 10.10816                               | number (ms)      | The 95th percentile response time for samples collected within the time bucket.                      |
| `p99`       | 14.08016                               | number (ms)      | The 99th percentile response time for samples collected within the time bucket.                      |
| `max`       | 15.08016                               | number (ms)      | The maximum response time for samples collected within the time bucket.                              |
| `stdev`     | 0.075112                               | number (ms)      | The standard deviation time for samples collected within the time bucket.                            |
