Vegeta · Schema
VegetaMetrics
Aggregate metrics computed from a completed Vegeta attack, including latency statistics, throughput, error rates, and status code distributions
GoHTTPLoad TestingPerformanceTesting
Properties
| Name | Type | Description |
|---|---|---|
| latencies | object | Latency statistics across all requests |
| bytes_in | object | Bytes received statistics |
| bytes_out | object | Bytes sent statistics |
| earliest | string | Timestamp of the earliest request |
| latest | string | Timestamp of the latest request |
| end | string | Timestamp when the last request completed |
| duration | integer | Total attack duration in nanoseconds |
| wait | integer | Extra wait time in nanoseconds after last request |
| requests | integer | Total number of requests sent |
| rate | number | Actual request rate in requests per second |
| throughput | number | Successful requests per second |
| success | number | Ratio of successful (non-error) responses (0.0 to 1.0) |
| status_codes | object | Distribution of HTTP status codes |
| errors | array | Unique error messages encountered during the attack |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/vegeta/refs/heads/main/json-schema/vegeta-metrics-schema.json",
"title": "VegetaMetrics",
"description": "Aggregate metrics computed from a completed Vegeta attack, including latency statistics, throughput, error rates, and status code distributions",
"type": "object",
"properties": {
"latencies": {
"type": "object",
"description": "Latency statistics across all requests",
"properties": {
"total": {
"type": "integer",
"description": "Total cumulative latency in nanoseconds",
"example": 123456789
},
"mean": {
"type": "integer",
"description": "Mean latency in nanoseconds",
"example": 12345678
},
"50th": {
"type": "integer",
"description": "50th percentile (median) latency in nanoseconds",
"example": 10000000
},
"90th": {
"type": "integer",
"description": "90th percentile latency in nanoseconds",
"example": 20000000
},
"95th": {
"type": "integer",
"description": "95th percentile latency in nanoseconds",
"example": 25000000
},
"99th": {
"type": "integer",
"description": "99th percentile latency in nanoseconds",
"example": 40000000
},
"max": {
"type": "integer",
"description": "Maximum latency in nanoseconds",
"example": 100000000
},
"min": {
"type": "integer",
"description": "Minimum latency in nanoseconds",
"example": 500000
}
}
},
"bytes_in": {
"type": "object",
"description": "Bytes received statistics",
"properties": {
"total": {
"type": "integer",
"description": "Total bytes received",
"example": 1048576
},
"mean": {
"type": "number",
"description": "Mean bytes received per request",
"example": 1024.5
}
}
},
"bytes_out": {
"type": "object",
"description": "Bytes sent statistics",
"properties": {
"total": {
"type": "integer",
"description": "Total bytes sent",
"example": 51200
},
"mean": {
"type": "number",
"description": "Mean bytes sent per request",
"example": 50.0
}
}
},
"earliest": {
"type": "string",
"format": "date-time",
"description": "Timestamp of the earliest request",
"example": "2025-03-15T14:30:00.000000000Z"
},
"latest": {
"type": "string",
"format": "date-time",
"description": "Timestamp of the latest request",
"example": "2025-03-15T14:30:30.000000000Z"
},
"end": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the last request completed",
"example": "2025-03-15T14:30:30.123456789Z"
},
"duration": {
"type": "integer",
"description": "Total attack duration in nanoseconds",
"example": 30000000000
},
"wait": {
"type": "integer",
"description": "Extra wait time in nanoseconds after last request",
"example": 123456789
},
"requests": {
"type": "integer",
"description": "Total number of requests sent",
"example": 3000
},
"rate": {
"type": "number",
"description": "Actual request rate in requests per second",
"example": 100.0
},
"throughput": {
"type": "number",
"description": "Successful requests per second",
"example": 99.5
},
"success": {
"type": "number",
"description": "Ratio of successful (non-error) responses (0.0 to 1.0)",
"minimum": 0,
"maximum": 1,
"example": 0.9967
},
"status_codes": {
"type": "object",
"description": "Distribution of HTTP status codes",
"additionalProperties": {
"type": "integer"
},
"example": {
"200": 2990,
"500": 10
}
},
"errors": {
"type": "array",
"description": "Unique error messages encountered during the attack",
"items": {
"type": "string"
},
"example": ["connection refused"]
}
},
"required": ["latencies", "requests", "rate", "throughput", "success", "status_codes"]
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/vegeta-metrics"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.