Files
excel-download/class101/artillery-script/report.json.html
2021-02-06 18:02:46 +09:00

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-06T07:01:52.432Z",
"scenariosCreated": 360,
"scenariosCompleted": 360,
"requestsCompleted": 360,
"latency": {
"min": 92.5,
"max": 1171.8,
"median": 102.5,
"p95": 112.2,
"p99": 142.9
},
"rps": {
"count": 360,
"mean": 1
},
"scenarioDuration": {
"min": 95.1,
"max": 1174,
"median": 106,
"p95": 116.7,
"p99": 145.6
},
"scenarioCounts": {
"just get hash": 360
},
"errors": {},
"codes": {
"200": 360
},
"matches": 0,
"customStats": {},
"counters": {},
"scenariosAvoided": 0,
"phases": [
{
"duration": 360,
"arrivalRate": 1,
"name": "Warm up"
}
]
},
"intermediate": [
{
"timestamp": "2021-02-06T06:56:01.909Z",
"scenariosCreated": 9,
"scenariosCompleted": 9,
"requestsCompleted": 9,
"latency": {
"min": 101.6,
"max": 159.1,
"median": 102.7,
"p95": 159.1,
"p99": 159.1
},
"rps": {
"count": 9,
"mean": 1.01
},
"scenarioDuration": {
"min": 103.5,
"max": 232.3,
"median": 107.7,
"p95": 232.3,
"p99": 232.3
},
"scenarioCounts": {
"just get hash": 9
},
"errors": {},
"codes": {
"200": 9
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T06:56:11.899Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 94.4,
"max": 135.2,
"median": 97,
"p95": 135.2,
"p99": 135.2
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 96.6,
"max": 138.3,
"median": 100.3,
"p95": 138.3,
"p99": 138.3
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T06:56:21.904Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 95.7,
"max": 118.4,
"median": 100.3,
"p95": 118.4,
"p99": 118.4
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 98.4,
"max": 120.9,
"median": 102.9,
"p95": 120.9,
"p99": 120.9
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T06:56:31.899Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 92.7,
"max": 112,
"median": 97.7,
"p95": 112,
"p99": 112
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 95.1,
"max": 115.1,
"median": 100.7,
"p95": 115.1,
"p99": 115.1
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T06:56:41.899Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 93.7,
"max": 101.6,
"median": 96.2,
"p95": 101.6,
"p99": 101.6
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 96.2,
"max": 104.1,
"median": 98.8,
"p95": 104.1,
"p99": 104.1
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T06:56:51.898Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 92.5,
"max": 107.9,
"median": 100,
"p95": 107.9,
"p99": 107.9
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 95.2,
"max": 111.1,
"median": 102.3,
"p95": 111.1,
"p99": 111.1
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T06:57:01.899Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 93.7,
"max": 99.7,
"median": 96.9,
"p95": 99.7,
"p99": 99.7
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 96,
"max": 102.4,
"median": 99.4,
"p95": 102.4,
"p99": 102.4
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T06:57:11.898Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 94.9,
"max": 106.1,
"median": 103.4,
"p95": 106.1,
"p99": 106.1
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 97.3,
"max": 109.5,
"median": 105.5,
"p95": 109.5,
"p99": 109.5
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T06:57:21.899Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 100.1,
"max": 107.4,
"median": 104.3,
"p95": 107.4,
"p99": 107.4
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 102.2,
"max": 109.6,
"median": 106.5,
"p95": 109.6,
"p99": 109.6
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T06:57:31.899Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 100,
"max": 110.1,
"median": 103.1,
"p95": 110.1,
"p99": 110.1
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 102,
"max": 112.3,
"median": 105.5,
"p95": 112.3,
"p99": 112.3
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T06:57:41.898Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 95.8,
"max": 110.9,
"median": 102.9,
"p95": 110.9,
"p99": 110.9
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 98.8,
"max": 112.8,
"median": 105.4,
"p95": 112.8,
"p99": 112.8
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T06:57:51.897Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 99.9,
"max": 110.4,
"median": 101.6,
"p95": 110.4,
"p99": 110.4
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 102.3,
"max": 112.6,
"median": 104.1,
"p95": 112.6,
"p99": 112.6
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T06:58:01.900Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 97.8,
"max": 106.4,
"median": 104.3,
"p95": 106.4,
"p99": 106.4
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 100.1,
"max": 110.6,
"median": 107.1,
"p95": 110.6,
"p99": 110.6
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T06:58:11.900Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 100.9,
"max": 104.5,
"median": 102.3,
"p95": 104.5,
"p99": 104.5
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 104,
"max": 109.6,
"median": 105.2,
"p95": 109.6,
"p99": 109.6
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T06:58:21.900Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 99.7,
"max": 110.4,
"median": 103.7,
"p95": 110.4,
"p99": 110.4
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 103.1,
"max": 112.6,
"median": 107.4,
"p95": 112.6,
"p99": 112.6
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T06:58:31.897Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 100.9,
"max": 116.8,
"median": 104,
"p95": 116.8,
"p99": 116.8
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 103.8,
"max": 119.5,
"median": 106.2,
"p95": 119.5,
"p99": 119.5
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T06:58:41.898Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 98.4,
"max": 112.5,
"median": 101.3,
"p95": 112.5,
"p99": 112.5
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 100.5,
"max": 115.1,
"median": 104.1,
"p95": 115.1,
"p99": 115.1
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T06:58:51.898Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 100.3,
"max": 114.7,
"median": 103.7,
"p95": 114.7,
"p99": 114.7
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 102.9,
"max": 117.4,
"median": 105.8,
"p95": 117.4,
"p99": 117.4
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T06:59:01.898Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 97.3,
"max": 106,
"median": 101.3,
"p95": 106,
"p99": 106
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 99.9,
"max": 108.3,
"median": 104.4,
"p95": 108.3,
"p99": 108.3
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T06:59:11.900Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 102.5,
"max": 111.2,
"median": 106.7,
"p95": 111.2,
"p99": 111.2
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 105.2,
"max": 113.8,
"median": 109.5,
"p95": 113.8,
"p99": 113.8
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T06:59:21.900Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 99.2,
"max": 143.3,
"median": 110.1,
"p95": 143.3,
"p99": 143.3
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 101.4,
"max": 145.9,
"median": 112.9,
"p95": 145.9,
"p99": 145.9
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T06:59:31.898Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 97.7,
"max": 109.1,
"median": 102.7,
"p95": 109.1,
"p99": 109.1
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 100.7,
"max": 114.1,
"median": 106.1,
"p95": 114.1,
"p99": 114.1
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T06:59:41.900Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 99,
"max": 118.5,
"median": 104.5,
"p95": 118.5,
"p99": 118.5
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 101.4,
"max": 120.8,
"median": 107,
"p95": 120.8,
"p99": 120.8
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T06:59:51.902Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 99.9,
"max": 104,
"median": 102,
"p95": 104,
"p99": 104
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 102.8,
"max": 110.4,
"median": 106.9,
"p95": 110.4,
"p99": 110.4
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T07:00:01.902Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 99.6,
"max": 111.3,
"median": 105.2,
"p95": 111.3,
"p99": 111.3
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 105.1,
"max": 116.7,
"median": 110.9,
"p95": 116.7,
"p99": 116.7
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T07:00:11.902Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 100.5,
"max": 122.5,
"median": 105.4,
"p95": 122.5,
"p99": 122.5
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 105.7,
"max": 129.4,
"median": 110.9,
"p95": 129.4,
"p99": 129.4
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T07:00:21.903Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 101.9,
"max": 105.8,
"median": 103.6,
"p95": 105.8,
"p99": 105.8
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 106,
"max": 111.7,
"median": 109.1,
"p95": 111.7,
"p99": 111.7
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T07:00:31.904Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 96.9,
"max": 105.3,
"median": 103,
"p95": 105.3,
"p99": 105.3
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 100.7,
"max": 112.3,
"median": 108.8,
"p95": 112.3,
"p99": 112.3
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T07:00:41.902Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 99.4,
"max": 108,
"median": 101.8,
"p95": 108,
"p99": 108
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 103.6,
"max": 112.6,
"median": 108,
"p95": 112.6,
"p99": 112.6
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T07:00:51.898Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 98.8,
"max": 104.7,
"median": 101.7,
"p95": 104.7,
"p99": 104.7
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 100.9,
"max": 109.8,
"median": 104.4,
"p95": 109.8,
"p99": 109.8
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T07:01:01.900Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 99,
"max": 139.3,
"median": 102.6,
"p95": 139.3,
"p99": 139.3
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 100.9,
"max": 143.4,
"median": 105.6,
"p95": 143.4,
"p99": 143.4
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T07:01:11.898Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 100.5,
"max": 1171.8,
"median": 105.4,
"p95": 1171.8,
"p99": 1171.8
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 103.5,
"max": 1174,
"median": 107.9,
"p95": 1174,
"p99": 1174
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T07:01:21.899Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 104.3,
"max": 113.3,
"median": 107.2,
"p95": 113.3,
"p99": 113.3
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 106.5,
"max": 115.5,
"median": 109.2,
"p95": 115.5,
"p99": 115.5
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T07:01:31.900Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 99.3,
"max": 109.7,
"median": 103.9,
"p95": 109.7,
"p99": 109.7
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 101.5,
"max": 111.9,
"median": 105.9,
"p95": 111.9,
"p99": 111.9
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T07:01:41.898Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 98.7,
"max": 104,
"median": 101.4,
"p95": 104,
"p99": 104
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 100.5,
"max": 106.1,
"median": 103.4,
"p95": 106.1,
"p99": 106.1
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T07:01:51.900Z",
"scenariosCreated": 10,
"scenariosCompleted": 10,
"requestsCompleted": 10,
"latency": {
"min": 97.4,
"max": 102.8,
"median": 100.1,
"p95": 102.8,
"p99": 102.8
},
"rps": {
"count": 10,
"mean": 1
},
"scenarioDuration": {
"min": 99.6,
"max": 104.9,
"median": 102.5,
"p95": 104.9,
"p99": 104.9
},
"scenarioCounts": {
"just get hash": 10
},
"errors": {},
"codes": {
"200": 10
},
"matches": 0,
"customStats": {},
"counters": {},
"concurrency": 0,
"pendingRequests": 0,
"scenariosAvoided": 0
},
{
"timestamp": "2021-02-06T07:01:52.418Z",
"scenariosCreated": 1,
"scenariosCompleted": 1,
"requestsCompleted": 1,
"latency": {
"min": 101.4,
"max": 101.4,
"median": 101.4,
"p95": 101.4,
"p99": 101.4
},
"rps": {
"count": 1,
"mean": 1.96
},
"scenarioDuration": {
"min": 104.3,
"max": 104.3,
"median": 104.3,
"p95": 104.3,
"p99": 104.3
},
"scenarioCounts": {
"just get hash": 1
},
"errors": {},
"codes": {
"200": 1
},
"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('&#10004; 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>