1890 lines
41 KiB
HTML
1890 lines
41 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>Artillery report</title>
|
|
<script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
|
|
<script src='https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.0/d3.min.js' charset='utf-8'></script>
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/metrics-graphics/2.6.0/metricsgraphics.min.css" />
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/metrics-graphics/2.6.0/metricsgraphics.min.js"></script>
|
|
|
|
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,700' rel='stylesheet' type='text/css'>
|
|
<link href='https://fonts.googleapis.com/css?family=PT+Serif:400,700,400italic' rel='stylesheet' type='text/css'>
|
|
<link href='https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css' rel='stylesheet' type='text/css'>
|
|
<link href='https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css' rel='stylesheet' type='text/css'>
|
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.min.js"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.1/lodash.min.js"></script>
|
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.0/ace.js" charset="utf-8"></script>
|
|
|
|
<style>
|
|
body, p, li {
|
|
font-family: sans-serif;
|
|
font-size: 10pt;
|
|
}
|
|
|
|
h1 {
|
|
font-size: 18pt;
|
|
font-weight: bold;
|
|
}
|
|
|
|
#errorsContainer > p {
|
|
color: #009900;
|
|
}
|
|
|
|
#footer {
|
|
padding: 1em;
|
|
font-size: 0.8em;
|
|
color: #999;
|
|
text-align: center;
|
|
margin-top: 1em;
|
|
background-color: #eee;
|
|
}
|
|
#editor {
|
|
font-size: 8pt;
|
|
height: 20em;
|
|
}
|
|
</style>
|
|
|
|
<script>
|
|
window.Report = {
|
|
"aggregate": {
|
|
"timestamp": "2021-02-06T19:10:59.388Z",
|
|
"scenariosCreated": 2880,
|
|
"scenariosCompleted": 2880,
|
|
"requestsCompleted": 2880,
|
|
"latency": {
|
|
"min": 293.7,
|
|
"max": 399.7,
|
|
"median": 315.6,
|
|
"p95": 365.5,
|
|
"p99": 379.1
|
|
},
|
|
"rps": {
|
|
"count": 2880,
|
|
"mean": 7.99
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 296,
|
|
"max": 403.8,
|
|
"median": 319.5,
|
|
"p95": 369.8,
|
|
"p99": 384
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 2880
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 2880
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"scenariosAvoided": 0,
|
|
"phases": [
|
|
{
|
|
"duration": 360,
|
|
"arrivalRate": 8,
|
|
"name": "Warm up"
|
|
}
|
|
]
|
|
},
|
|
"intermediate": [
|
|
{
|
|
"timestamp": "2021-02-06T19:05:08.891Z",
|
|
"scenariosCreated": 79,
|
|
"scenariosCompleted": 77,
|
|
"requestsCompleted": 77,
|
|
"latency": {
|
|
"min": 294.5,
|
|
"max": 378.4,
|
|
"median": 313.2,
|
|
"p95": 361.6,
|
|
"p99": 377.1
|
|
},
|
|
"rps": {
|
|
"count": 79,
|
|
"mean": 8.02
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 296.8,
|
|
"max": 391.9,
|
|
"median": 317.8,
|
|
"p95": 369.5,
|
|
"p99": 388.9
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 79
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 77
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:05:18.888Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 297.2,
|
|
"max": 378,
|
|
"median": 311.8,
|
|
"p95": 361.1,
|
|
"p99": 377.3
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8.04
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 302,
|
|
"max": 380.6,
|
|
"median": 315.7,
|
|
"p95": 365.6,
|
|
"p99": 380.5
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:05:28.869Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 296.6,
|
|
"max": 399.7,
|
|
"median": 312.7,
|
|
"p95": 361.6,
|
|
"p99": 390.5
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8.02
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 300.5,
|
|
"max": 403.2,
|
|
"median": 316.9,
|
|
"p95": 365.7,
|
|
"p99": 393.7
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:05:38.857Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 293.7,
|
|
"max": 363.2,
|
|
"median": 311.2,
|
|
"p95": 353.5,
|
|
"p99": 361.3
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8.02
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 296,
|
|
"max": 365.2,
|
|
"median": 314,
|
|
"p95": 356,
|
|
"p99": 363.5
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:05:48.857Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 297,
|
|
"max": 370.9,
|
|
"median": 314.3,
|
|
"p95": 342.1,
|
|
"p99": 368.1
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 299.3,
|
|
"max": 376.1,
|
|
"median": 318.8,
|
|
"p95": 345,
|
|
"p99": 372.4
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:05:58.855Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 296.3,
|
|
"max": 379,
|
|
"median": 313.6,
|
|
"p95": 364.5,
|
|
"p99": 378.6
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8.01
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 298.2,
|
|
"max": 383.3,
|
|
"median": 316.4,
|
|
"p95": 368,
|
|
"p99": 382.5
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:06:08.856Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 296.4,
|
|
"max": 378.9,
|
|
"median": 314.6,
|
|
"p95": 370.6,
|
|
"p99": 378.4
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8.01
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 298.3,
|
|
"max": 383.3,
|
|
"median": 318.6,
|
|
"p95": 372.2,
|
|
"p99": 382.2
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:06:18.855Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 297.6,
|
|
"max": 378.1,
|
|
"median": 316.2,
|
|
"p95": 365.4,
|
|
"p99": 375.4
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8.01
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 299.6,
|
|
"max": 379.6,
|
|
"median": 319.2,
|
|
"p95": 369.2,
|
|
"p99": 377.8
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:06:28.857Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 300,
|
|
"max": 377.7,
|
|
"median": 314.5,
|
|
"p95": 357.3,
|
|
"p99": 375.3
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8.01
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 303.7,
|
|
"max": 379.5,
|
|
"median": 317.4,
|
|
"p95": 361.2,
|
|
"p99": 378.1
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:06:38.868Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 297.7,
|
|
"max": 380.1,
|
|
"median": 313.5,
|
|
"p95": 359.2,
|
|
"p99": 379.6
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 299.8,
|
|
"max": 385.9,
|
|
"median": 316.9,
|
|
"p95": 362.4,
|
|
"p99": 384.2
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:06:48.871Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 300.8,
|
|
"max": 383.3,
|
|
"median": 316.5,
|
|
"p95": 368.9,
|
|
"p99": 382.4
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 305.3,
|
|
"max": 390.1,
|
|
"median": 322.9,
|
|
"p95": 373,
|
|
"p99": 388.5
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:06:58.863Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 299.6,
|
|
"max": 381.3,
|
|
"median": 315.9,
|
|
"p95": 350.3,
|
|
"p99": 381.3
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8.02
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 305.5,
|
|
"max": 390.7,
|
|
"median": 322.3,
|
|
"p95": 357.1,
|
|
"p99": 390.5
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:07:08.855Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 304.7,
|
|
"max": 371.1,
|
|
"median": 318.2,
|
|
"p95": 365,
|
|
"p99": 370
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8.01
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 310.8,
|
|
"max": 379.8,
|
|
"median": 325.9,
|
|
"p95": 372.6,
|
|
"p99": 377.9
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:07:18.856Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 306.1,
|
|
"max": 399,
|
|
"median": 319.5,
|
|
"p95": 384.6,
|
|
"p99": 397.6
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8.01
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 311.4,
|
|
"max": 402.4,
|
|
"median": 326.5,
|
|
"p95": 387.9,
|
|
"p99": 402.4
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:07:28.857Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 308.8,
|
|
"max": 380.5,
|
|
"median": 319.2,
|
|
"p95": 367.2,
|
|
"p99": 380.3
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8.01
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 311.9,
|
|
"max": 387.3,
|
|
"median": 324.3,
|
|
"p95": 373.9,
|
|
"p99": 385.8
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:07:38.856Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 304.2,
|
|
"max": 388.9,
|
|
"median": 318.9,
|
|
"p95": 364.4,
|
|
"p99": 384.3
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8.01
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 308.4,
|
|
"max": 396.6,
|
|
"median": 324.5,
|
|
"p95": 369.2,
|
|
"p99": 391
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:07:48.856Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 307.2,
|
|
"max": 384.5,
|
|
"median": 322,
|
|
"p95": 377.7,
|
|
"p99": 383.5
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8.01
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 312.2,
|
|
"max": 390.1,
|
|
"median": 326.8,
|
|
"p95": 385.4,
|
|
"p99": 389.1
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:07:58.858Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 306.4,
|
|
"max": 384.7,
|
|
"median": 319.1,
|
|
"p95": 372.2,
|
|
"p99": 383.3
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8.01
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 313,
|
|
"max": 393.8,
|
|
"median": 324.1,
|
|
"p95": 379.5,
|
|
"p99": 390.8
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:08:08.865Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 303.4,
|
|
"max": 374.8,
|
|
"median": 318.4,
|
|
"p95": 367,
|
|
"p99": 373.5
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 306.1,
|
|
"max": 380.1,
|
|
"median": 323.7,
|
|
"p95": 371.4,
|
|
"p99": 379.9
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:08:18.866Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 304.7,
|
|
"max": 397.3,
|
|
"median": 319.4,
|
|
"p95": 380.7,
|
|
"p99": 394
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 307.6,
|
|
"max": 403.8,
|
|
"median": 325,
|
|
"p95": 386,
|
|
"p99": 401.2
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:08:28.858Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 302,
|
|
"max": 376,
|
|
"median": 317.3,
|
|
"p95": 372.2,
|
|
"p99": 375.7
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8.01
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 304,
|
|
"max": 380.4,
|
|
"median": 321.9,
|
|
"p95": 378.1,
|
|
"p99": 380.2
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:08:38.858Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 299.5,
|
|
"max": 368.9,
|
|
"median": 315.5,
|
|
"p95": 363.2,
|
|
"p99": 367.8
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 304.8,
|
|
"max": 372.5,
|
|
"median": 318.1,
|
|
"p95": 366.2,
|
|
"p99": 371.3
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:08:48.855Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 298.8,
|
|
"max": 380.7,
|
|
"median": 315.1,
|
|
"p95": 369.6,
|
|
"p99": 378.2
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8.01
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 302.3,
|
|
"max": 382.3,
|
|
"median": 318.5,
|
|
"p95": 371.7,
|
|
"p99": 380
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:08:58.856Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 301,
|
|
"max": 372.6,
|
|
"median": 314.8,
|
|
"p95": 358.5,
|
|
"p99": 372.2
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8.01
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 304.4,
|
|
"max": 375,
|
|
"median": 317.2,
|
|
"p95": 360.2,
|
|
"p99": 374.9
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:09:08.856Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 301.6,
|
|
"max": 372.2,
|
|
"median": 314.7,
|
|
"p95": 364.3,
|
|
"p99": 372
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8.01
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 303,
|
|
"max": 374.7,
|
|
"median": 317.8,
|
|
"p95": 366.5,
|
|
"p99": 374.5
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:09:18.861Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 302.6,
|
|
"max": 366.8,
|
|
"median": 314.1,
|
|
"p95": 362.3,
|
|
"p99": 366.3
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 305,
|
|
"max": 369.3,
|
|
"median": 317.9,
|
|
"p95": 364,
|
|
"p99": 369.1
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:09:28.863Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 304.7,
|
|
"max": 373.8,
|
|
"median": 317.7,
|
|
"p95": 370.7,
|
|
"p99": 373.6
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 307.5,
|
|
"max": 377.4,
|
|
"median": 320.5,
|
|
"p95": 374.5,
|
|
"p99": 376.8
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:09:38.855Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 302.4,
|
|
"max": 377.6,
|
|
"median": 314.8,
|
|
"p95": 369.1,
|
|
"p99": 377.5
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8.01
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 304.6,
|
|
"max": 382.3,
|
|
"median": 317.7,
|
|
"p95": 372.1,
|
|
"p99": 381.4
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:09:48.855Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 300.6,
|
|
"max": 367.9,
|
|
"median": 314.1,
|
|
"p95": 363.3,
|
|
"p99": 367.9
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8.01
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 301.9,
|
|
"max": 369.7,
|
|
"median": 317,
|
|
"p95": 366.4,
|
|
"p99": 369.6
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:09:58.855Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 301.5,
|
|
"max": 378.4,
|
|
"median": 314.5,
|
|
"p95": 361.3,
|
|
"p99": 377
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8.01
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 303.6,
|
|
"max": 379.8,
|
|
"median": 316.2,
|
|
"p95": 363.6,
|
|
"p99": 378.9
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:10:08.855Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 300.1,
|
|
"max": 366.5,
|
|
"median": 314,
|
|
"p95": 343.1,
|
|
"p99": 366
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8.01
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 302,
|
|
"max": 368.1,
|
|
"median": 317,
|
|
"p95": 345.4,
|
|
"p99": 368.1
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:10:18.855Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 300.8,
|
|
"max": 373.5,
|
|
"median": 315.2,
|
|
"p95": 356.2,
|
|
"p99": 370.6
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8.01
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 302.3,
|
|
"max": 375.6,
|
|
"median": 317.8,
|
|
"p95": 358.5,
|
|
"p99": 372.6
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:10:28.858Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 299.1,
|
|
"max": 377.1,
|
|
"median": 315.3,
|
|
"p95": 360.9,
|
|
"p99": 375.7
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8.01
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 301.4,
|
|
"max": 378.5,
|
|
"median": 318.1,
|
|
"p95": 363.8,
|
|
"p99": 377.4
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:10:38.862Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 302.8,
|
|
"max": 375.9,
|
|
"median": 317.2,
|
|
"p95": 363.8,
|
|
"p99": 375.3
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 304.7,
|
|
"max": 378,
|
|
"median": 321.3,
|
|
"p95": 365.3,
|
|
"p99": 377.7
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 2,
|
|
"pendingRequests": 2,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:10:48.858Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 79,
|
|
"requestsCompleted": 79,
|
|
"latency": {
|
|
"min": 305.2,
|
|
"max": 378,
|
|
"median": 315.6,
|
|
"p95": 365.1,
|
|
"p99": 376.6
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 307.6,
|
|
"max": 380,
|
|
"median": 318.8,
|
|
"p95": 368.2,
|
|
"p99": 378.8
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 79
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 3,
|
|
"pendingRequests": 3,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:10:58.856Z",
|
|
"scenariosCreated": 80,
|
|
"scenariosCompleted": 80,
|
|
"requestsCompleted": 80,
|
|
"latency": {
|
|
"min": 302.2,
|
|
"max": 375.4,
|
|
"median": 313.2,
|
|
"p95": 364.6,
|
|
"p99": 375.4
|
|
},
|
|
"rps": {
|
|
"count": 80,
|
|
"mean": 8.01
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 304.2,
|
|
"max": 378.4,
|
|
"median": 315.9,
|
|
"p95": 367.8,
|
|
"p99": 378.2
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 80
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 80
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 3,
|
|
"pendingRequests": 3,
|
|
"scenariosAvoided": 0
|
|
},
|
|
{
|
|
"timestamp": "2021-02-06T19:10:59.366Z",
|
|
"scenariosCreated": 1,
|
|
"scenariosCompleted": 4,
|
|
"requestsCompleted": 4,
|
|
"latency": {
|
|
"min": 308.5,
|
|
"max": 384.6,
|
|
"median": 316.4,
|
|
"p95": 384.6,
|
|
"p99": 384.6
|
|
},
|
|
"rps": {
|
|
"count": 1,
|
|
"mean": 2
|
|
},
|
|
"scenarioDuration": {
|
|
"min": 310.9,
|
|
"max": 386,
|
|
"median": 318.3,
|
|
"p95": 386,
|
|
"p99": 386
|
|
},
|
|
"scenarioCounts": {
|
|
"just get hash": 1
|
|
},
|
|
"errors": {},
|
|
"codes": {
|
|
"200": 4
|
|
},
|
|
"matches": 0,
|
|
"customStats": {},
|
|
"counters": {},
|
|
"concurrency": 0,
|
|
"pendingRequests": 0,
|
|
"scenariosAvoided": 0
|
|
}
|
|
]
|
|
};
|
|
</script>
|
|
|
|
<style>
|
|
h1 {
|
|
line-height: 200%;
|
|
}
|
|
|
|
body {
|
|
background-color: #fcfcfc;
|
|
}
|
|
|
|
.container {
|
|
width: 100%;
|
|
min-width: 960px;
|
|
}
|
|
</style>
|
|
|
|
|
|
</head>
|
|
<body>
|
|
|
|
<div class="container">
|
|
|
|
<div class="row" id="header">
|
|
<div class="col-lg-4 col-lg-offset-4">
|
|
<pre style="font-size: 5pt; background-color: #fcfcfc; border: none;">
|
|
_ _ _ _ _
|
|
__ _ _ __| |_(_) | | ___ _ __ _ _ _ __ ___ _ __ ___ _ __| |_
|
|
/ _` | '__| __| | | |/ _ \ '__| | | | | '__/ _ \ '_ \ / _ \| '__| __|
|
|
| (_| | | | |_| | | | __/ | | |_| | | | | __/ |_) | (_) | | | |_
|
|
\__,_|_| \__|_|_|_|\___|_| \__, | |_| \___| .__/ \___/|_| \__|
|
|
|___/ |_|
|
|
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-lg-12">
|
|
<h1 class="text-center" id="page-title">Test run on <span id="timestamp">date</span></h1>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-lg-3">
|
|
<p><strong>Summary</strong></p>
|
|
<table class="table table-bordered table-hover table-condensed">
|
|
<tbody>
|
|
<tr>
|
|
<td>Test duration</td>
|
|
<td><span id="testDuration">0</span> sec</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Scenarios created</td>
|
|
<td><span id="scenariosCreated">0</span></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>Scenarios completed</td>
|
|
<td><span id="scenariosCompleted">0</span></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="col-lg-5" id="scenarioCountsContainer">
|
|
<div>
|
|
<strong>Scenario counts:</strong>
|
|
|
|
<p></p>
|
|
|
|
<table class="table table-bordered table-hover table-condensed" id="scenarioCounts">
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-lg-1">
|
|
<div id="codesContainer">
|
|
<strong>Codes</strong>
|
|
|
|
<p></p>
|
|
|
|
<table class="table table-bordered table-hover table-condensed" id="codes">
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-lg-3">
|
|
<div id="errorsContainer">
|
|
<strong>Errors</strong>
|
|
|
|
<p></p>
|
|
|
|
<table class="table table-bordered table-hover table-condensed" id="errors">
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div> <!-- /.row -->
|
|
|
|
<div class="row">
|
|
<div class="text-center col-lg-12">
|
|
<h2>Charts</h2>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="latency-histogram text-center col-lg-12"></div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="latency text-center col-lg-12"></div>
|
|
</div>
|
|
|
|
<div class="latency-legend"></div>
|
|
|
|
<div class="row">
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="concurrency text-center col-lg-12"></div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="rps-mean text-center col-lg-12"></div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="rps-count text-center col-lg-12"></div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="codes-line text-center col-lg-12"></div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="errors-line text-center col-lg-12"></div>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-lg-8 col-lg-offset-2">
|
|
<h3 class="text-center">Raw report data</h3>
|
|
<p>This is the raw JSON stats output that the report was generated from.</p>
|
|
<div id="editor">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
var editor = ace.edit("editor");
|
|
editor.getSession().setMode("ace/mode/javascript");
|
|
editor.setValue(JSON.stringify(Report, null, 2));
|
|
editor.gotoLine(1);editor.setHighlightActiveLine(false);
|
|
|
|
var l = _;
|
|
|
|
$('#timestamp').html(moment(Report.aggregate.timestamp).format('DD MMM YYYY HH:mm:SS'));
|
|
$('#testDuration').html(l.size(Report.intermediate) * 10);
|
|
$('#scenariosCompleted').html(Report.aggregate.scenariosCompleted);
|
|
$('#scenariosCreated').html(Report.aggregate.scenariosCreated);
|
|
|
|
var markers = [];
|
|
if(l.size(Report.phases) > 0) {
|
|
markers = l.foldl(Report.phases, function(acc, phase, index) {
|
|
var label = phase.name || 'Phase ' + (index + 1);
|
|
var timestamp = (index === 0) ? 0 : Report.phases[index - 1].duration + acc[index - 1].timestamp;
|
|
|
|
acc.push({
|
|
timestamp: timestamp,
|
|
label: label
|
|
});
|
|
|
|
return acc;
|
|
}, []);
|
|
}
|
|
|
|
if (l.size(Report.aggregate.scenarioCounts) > 0) {
|
|
l.each(Report.aggregate.scenarioCounts, function(count, name) {
|
|
var $tdName = $('<td>' + name + '</td>');
|
|
var percentage = Math.round(count / Report.aggregate.scenariosCreated * 100 * 1000) / 1000;
|
|
var $tdCount = $('<td>' + count + ' (' + percentage + '%)' + '</td>');
|
|
var $el = $('<tr></tr>')
|
|
.append($tdName)
|
|
.append($tdCount)
|
|
.appendTo($('#scenarioCounts'));
|
|
});
|
|
} else {
|
|
$('#scenarioCountsContainer').hide();
|
|
}
|
|
|
|
if (l.size(Report.aggregate.codes) > 0) {
|
|
l.each(Report.aggregate.codes, function(count, code) {
|
|
var anchor = '';
|
|
if (code >= 100 && code < 200) {
|
|
anchor = '#1xx_Informational';
|
|
} else if (code >= 200 && code < 300) {
|
|
anchor = '#2xx_Success';
|
|
} else if (code >= 300 && code < 400) {
|
|
anchor = '#3xx_Redirection';
|
|
} else if (code >= 400 && code < 500) {
|
|
anchor = '#4xx_Client_Error';
|
|
} else if (code >= 500 && code < 600) {
|
|
anchor = '#5xx_Server_Error';
|
|
}
|
|
|
|
var $a = $('<a>' + code + '</a>').attr('href', 'https://en.wikipedia.org/wiki/List_of_HTTP_status_codes' + anchor);
|
|
var $td = $('<td></td>').append($a);
|
|
var $el = $('<tr></tr>')
|
|
.append($td)
|
|
.append($('<td>' + count + '</td>'))
|
|
.appendTo($('#codes'));
|
|
});
|
|
} else {
|
|
$('#codesContainer').hide();
|
|
}
|
|
|
|
if (l.size(Report.aggregate.errors) > 0) {
|
|
l.each(Report.aggregate.errors, function(count, code) {
|
|
var $el = $('<tr></tr>')
|
|
.append($('<td>' + code + '</td>'))
|
|
.append($('<td>' + count + '</td>'))
|
|
.appendTo($('#errors'));
|
|
});
|
|
} else {
|
|
$('#errorsContainer > p').html('✔ Test completed without network or OS errors.');
|
|
}
|
|
|
|
var histogramData = l.map(Report.aggregate.latency, function(v, k) { return {bin: k, value: v} });
|
|
|
|
MG.data_graphic({
|
|
chart_type: 'bar',
|
|
x_label: 'Percentile',
|
|
y_label: '(ms)',
|
|
animate_on_load: true,
|
|
title: 'Overall Latency Distribution',
|
|
description: 'Distribution of all observed response latencies',
|
|
target: '.latency-histogram',
|
|
data: histogramData,
|
|
x_accessor: 'bin',
|
|
y_accessor: 'value',
|
|
binned: true,
|
|
height: 250,
|
|
interpolate: 'monotone',
|
|
padding_percentage: 0,
|
|
bar_orientation: 'vertical',
|
|
width: 450
|
|
});
|
|
|
|
var chartData = l.map(
|
|
window.Report.intermediate,
|
|
function(o,i) {
|
|
return {
|
|
timestamp: i*10+10,
|
|
|
|
rpsMean: o.rps.mean,
|
|
rpsCount: o.rps.count,
|
|
concurrency: o.concurrency,
|
|
latencyMax: o.latency.max,
|
|
latencyp99: o.latency.p99,
|
|
latencyp95: o.latency.p95,
|
|
latencyMedian: o.latency.median,
|
|
latencyMin: o.latency.min
|
|
}
|
|
});
|
|
|
|
//
|
|
// Response codes
|
|
//
|
|
|
|
if (l.size(Report.aggregate.codes) > 0) {
|
|
var codesData = l.foldl(Report.intermediate, function(acc, o, i) {
|
|
var res = {};
|
|
res.timestamp = i*10+10;
|
|
l.each(o.codes, function(count, code) {
|
|
res[code] = count;
|
|
});
|
|
acc.push(res);
|
|
return acc;
|
|
}, []);
|
|
var uniqueCodes = l.foldl(Report.intermediate, function(acc, o) {
|
|
l.each(o.codes, function(count, code) {
|
|
if (l.indexOf(acc, code) === -1) {
|
|
acc.push(code);
|
|
}
|
|
});
|
|
return acc;
|
|
}, []);
|
|
|
|
MG.data_graphic({
|
|
x_label: 'Time',
|
|
y_label: 'Count',
|
|
title: 'HTTP codes',
|
|
description: 'Occurence of HTTP response codes',
|
|
target: '.codes-line',
|
|
data: codesData,
|
|
x_accessor: 'timestamp',
|
|
y_accessor: uniqueCodes,
|
|
legend: uniqueCodes,
|
|
right: 50,
|
|
chart_type: 'line',
|
|
area: false,
|
|
markers: markers,
|
|
width: 900
|
|
});
|
|
}
|
|
|
|
//
|
|
// Errors
|
|
//
|
|
|
|
if (l.size(Report.aggregate.errors) > 0) {
|
|
var errorData = l.foldl(Report.intermediate, function(acc, o, i) {
|
|
var res = {};
|
|
res.timestamp = i*10+10;
|
|
l.each(o.errors, function(count, name) {
|
|
res[name] = count;
|
|
});
|
|
acc.push(res);
|
|
return acc;
|
|
}, []);
|
|
var uniqueErrors = l.foldl(Report.intermediate, function(acc, o) {
|
|
l.each(o.errors, function(count, name) {
|
|
if (l.indexOf(acc, name) === -1) {
|
|
acc.push(name);
|
|
}
|
|
});
|
|
return acc;
|
|
}, []);
|
|
|
|
MG.data_graphic({
|
|
title: 'Error Codes',
|
|
description: 'Occurence of error codes',
|
|
target: '.errors-line',
|
|
data: errorData,
|
|
x_accessor: 'timestamp',
|
|
y_accessor: uniqueErrors,
|
|
chart_type: 'line',
|
|
area: false,
|
|
markers: markers
|
|
});
|
|
|
|
}
|
|
|
|
//
|
|
// Latency
|
|
//
|
|
MG.data_graphic({
|
|
chart_type: 'line',
|
|
x_label: 'Time',
|
|
y_label: '(ms)',
|
|
animate_on_load: true,
|
|
area: false,
|
|
title: "Latency At Intervals",
|
|
description: "Latency values at different points during the test run",
|
|
data: chartData,
|
|
target: '.latency',
|
|
width: 900,
|
|
x_accessor: 'timestamp',
|
|
y_accessor: ['latencyMin', 'latencyMedian', 'latencyp95', 'latencyMax'],
|
|
legend: ['min', 'p50', 'p95', 'max'],
|
|
//legend_target: '.latency-legend',
|
|
right: 50,
|
|
interpolate: 'monotone',
|
|
mouseover: function(d, i) {
|
|
},
|
|
markers: markers
|
|
});
|
|
|
|
MG.data_graphic({
|
|
animate_on_load: true,
|
|
area: false,
|
|
y_label: 'Count',
|
|
x_label: 'Time',
|
|
title: 'Concurrent users',
|
|
description: 'Concurrent users',
|
|
data: chartData,
|
|
target: '.concurrency',
|
|
x_accessor: 'timestamp',
|
|
y_accessor: ['concurrency'],
|
|
interpolate: 'monotone',
|
|
markers: markers,
|
|
width: 900
|
|
});
|
|
|
|
MG.data_graphic({
|
|
animate_on_load: true,
|
|
area: false,
|
|
y_label: 'Count',
|
|
x_label: 'Time',
|
|
title: 'Mean RPS',
|
|
description: 'Mean requests per second',
|
|
data: chartData,
|
|
target: '.rps-mean',
|
|
x_accessor: 'timestamp',
|
|
y_accessor: ['rpsMean'],
|
|
interpolate: 'monotone',
|
|
markers: markers,
|
|
width: 900
|
|
});
|
|
|
|
MG.data_graphic({
|
|
animate_on_load: true,
|
|
area: false,
|
|
y_label: 'Count',
|
|
x_label: 'Time',
|
|
title: 'RPS Count',
|
|
description: 'Count of requests per second',
|
|
data: chartData,
|
|
target: '.rps-count',
|
|
x_accessor: 'timestamp',
|
|
y_accessor: ['rpsCount'],
|
|
interpolate: 'monotone',
|
|
markers: markers,
|
|
width: 900
|
|
});
|
|
</script>
|
|
<div id="footer">
|
|
<footer>This report was created with <a href="https://artillery.io">Artillery</a> - free open-source load-testing for HTTP and WebSockets</footer>
|
|
</div>
|
|
</body>
|
|
</html>
|