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"]
}