# Share a Vegeta Load Test Plot — Latency on a Link

Canonical: https://commareports.com/share-vegeta-report
Published: 2026-09-01

> vegeta plot writes an interactive HTML latency chart. Publish it to Comma for one URL per scenario, comments anchored to the spike, and a revision per run to compare against.

# Share a Vegeta load test

Vegeta's plot is the useful artifact of a load test, because latency is a
shape rather than a number. The p99 was 840 ms tells you almost nothing.
The p99 was flat for ninety seconds and then stepped up and stayed there
tells you exactly where to look.

`vegeta plot` renders that shape as one interactive HTML file. Then it
goes into a terminal redirect on someone's laptop.

## Publish it

```bash
vegeta attack -targets targets.txt -rate 200 -duration 120s \
  > results.bin
vegeta plot results.bin > plot.html

curl -fsS -X PATCH \
  "https://commareports.com/api/v1/reports/$COMMA_REPORT_ID" \
  -H "Authorization: Bearer $COMMA_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d "$(jq -n --rawfile html plot.html \
        --arg title "Load — checkout — 200 rps — $(date +%F)" \
        '{title: $title, html: $html}')"
```

Or drag `plot.html` into [the app](https://commareports.com/).

One report id per scenario — `checkout at 200 rps` is a different thing
from `search at 1000 rps` and deserves its own history. `PATCH` appends a
revision per run, which is what makes "did the pool change help" a
question the URL answers.

Worth adding: pipe `vegeta report` into a small HTML page above the plot,
so the percentile table and the shape arrive together.

## What the URL changes

- **The spike gets a note.** "This is the cache warming, ignore the first
  20s" pinned to the region of the chart. See
  [commenting on HTML](/comment-on-html).
- **Run-to-run comparison.** Revisions at one URL. See
  [revisions and diffs](/share-html-report).
- **Capacity conversations get an artifact.** Rather than a screenshot
  in a doc that nobody can zoom into.
- **Private by default** — see the [sharing model](/docs/sharing).

## Limits

- **HTML body: 5 MB.** `vegeta plot` embeds every data point; a long
  high-rate run can exceed it. Use `vegeta plot --threshold` or attack in
  shorter windows for the published version.
- **Scripts run, sandboxed**: `allow-scripts`, no `allow-same-origin`.
- **60 requests/minute per token.**

## Try it

Comma is free — unlimited reports, unlimited commenters, unlimited
revision history.

**[Create your first report →](https://commareports.com/)**

### Related

- [k6 load tests](/share-k6-load-test-report) · [Gatling](/share-gatling-report)
- [JMeter](/share-jmeter-report) · [Locust](/share-locust-report)
- [Benchmark reports](/share-benchmark-report) · [Publish from CI](/docs/ci)
