Test Results API
The Errthquake test results API retrieves status, metrics, and logs of current and historical load tests.
Permissions
The View Test Results permission is required to view test results.
APIs
Test Results List API
https://api.errthquake.com/results/<workspace-uid>
GET returns
[ test-entry-documents ]
Test Result API
https://api.errthquake.com/results/<workspace-uid>/<test-id>
GET returns
test-result-summary-document
Test Result Metrics API
https://api.errthquake.com/results/<workspace-uid>/<test-id>/metrics
GET returns
test-result-metrics-document
Test Result Logs API
https://api.errthquake.com/results/<workspace-uid>/<test-id>/logs
GET returns a zipped CSV file listing each http request made during the test. CSV Columns:
time: request timestamp
client_id: integer, virtual user client number
command: command name from test configuration yaml
url: request URL
method: request HTTP method
status: response HTTP status
req_bytes: request size in bytes
resp_bytes: response size in bytes
msec_duration: request duration in milliseconds
mb_memused: host memory used in megabytes at request time
mb_memavail: host memory available in megabytes at request time
pct_cpuuser: host CPU user % at request time
pct_cpusystem: host CPU system % at request time
pct_cpuidle: host CPU idle % at request time
Response headers included:
Content-Disposition: attachment; filename=<filename.zip>
Content-Type: application/zip
Test Stop API
https://api.errthquake.com/results/<workspace-uid>/<test-id>/stop
PUT submits an empty request body
PUT returns an empty response body with 200 OK status.
Call the stop API with an HTTP PUT to stop a test at any time. Interactive tests run until they API receive this request.
Response Object Documents
Test Entry Document
{
"id": <string: alphanumeric 8 character test id>,
"utc-start-time": <ISO8601 timestamp: test start time>,
"utc-finish-time": <ISO8601 timestamp: test finish time>,
"virtual-users": <integer: total virtual user count>
}
Test Result Summary Document
{
"id": <string: alphanumeric test id, 8 characters>,
"utc-start-time": <ISO8601 timestamp: test start time, null until test begins>,
"utc-finish-time": <ISO8601 timestamp: test finish time, null until test begins, estimate of finish time until test ends>,
"test-pending": <boolean: true until test begins>,
"test-stopping": <boolean: false until test ends, true while storing test results>,
"test-complete": <boolean: false until test results are stored>,
"test-failed": <boolean: true if test failed to start>,
"test-unresponsive": <boolean: true if test lost communication and became unresponsive>,
"interactive": <boolean: true for interactive tests>,
"virtual-users": <integer: number of virtual users requested for the test>
}
Test Result Metrics Document
{
"id": <string: alphanumeric test id, 8 characters>,
"utc-start-time": <ISO8601 timestamp: test start time, null until test begins>,
"utc-finish-time": <ISO8601 timestamp: test finish time, null until test begins, estimate of finish time until test ends>,
"test-pending": <boolean: true until test begins>,
"test-stopping": <boolean: false until test ends, true while storing test results>,
"test-complete": <boolean: false until test results are stored>,
"test-failed": <boolean: true if test failed to start>,
"test-unresponsive": <boolean: true if test lost communication and became unresponsive>,
"interactive": <boolean: true for interactive tests>,
"virtual-users": <integer: number of virtual users requested for the test>,
"secs-increment": <integer: metrics increment interval>,
"test-metrics": [ test-metrics-documents ],
"host-metrics": [ host-metrics-documents ]
}
Test Metrics Document
{
"command-name": <string: command name from yaml test configuration>,
"metric-group": <string: metric classification>,
"metric-name": <string: metric name>,
"values": [ <string: floating point number> ]
}
Host Metrics Document
{
"command-name": <empty string>,
"metric-group": <string: metric classification>,
"metric-name": <string: metric name>,
"values": [ <string: floating point number> ]
}