2026-05-17 19:36:46 +07:00

1059 lines
23 KiB
JSON

{
"generatedAt": "2026-05-17T12:06:57.668Z",
"inputFile": "D:\\CodeSpace\\Final Project Gabungan - Broken Test\\walkguide-backend\\demo\\k6-tests\\k6-results\\auth-flow-20260517_190217.ndjson",
"totalPoints": 7335,
"parseErrors": 0,
"keyMetrics": {
"throughput": {
"label": "Throughput (req/s)",
"description": "Total HTTP requests divided by test duration",
"value": "2.4 req/s"
},
"p95Latency": {
"label": "p95 Response Time (ms)",
"description": "95th percentile of all HTTP request durations",
"value": "20220.42 ms"
},
"errorRate": {
"label": "Error Rate (%)",
"description": "Percentage of non-2xx HTTP responses",
"value": "20.00%",
"passFail": "FAIL"
},
"dbQueryTime": {
"label": "Estimated DB Query Time (ms)",
"description": "p95 of write endpoints (location + obstacle) as DB proxy",
"value": null,
"note": "Actual DB time requires Spring Actuator or DB metrics"
},
"jvmHeap": {
"label": "JVM Heap Used (MB)",
"description": "From Spring Actuator metric, collected during test",
"value": null
}
},
"metrics": {
"http_reqs": {
"count": 449,
"min": "1.00",
"max": "1.00",
"avg": "1.00",
"p50": "1.00",
"p90": "1.00",
"p95": "1.00",
"p99": "1.00"
},
"http_req_duration": {
"count": 449,
"min": "2.63",
"max": "27668.08",
"avg": "8083.59",
"p50": "7511.44",
"p90": "17888.41",
"p95": "20220.42",
"p99": "22951.89"
},
"http_req_blocked": {
"count": 449,
"min": "0.00",
"max": "49.58",
"avg": "1.00",
"p50": "0.00",
"p90": "3.56",
"p95": "4.26",
"p99": "10.18"
},
"http_req_connecting": {
"count": 449,
"min": "0.00",
"max": "44.22",
"avg": "0.93",
"p50": "0.00",
"p90": "3.27",
"p95": "4.13",
"p99": "9.86"
},
"http_req_tls_handshaking": {
"count": 449,
"min": "0.00",
"max": "0.00",
"avg": "0.00",
"p50": "0.00",
"p90": "0.00",
"p95": "0.00",
"p99": "0.00"
},
"http_req_sending": {
"count": 449,
"min": "0.00",
"max": "1.13",
"avg": "0.10",
"p50": "0.00",
"p90": "0.57",
"p95": "0.72",
"p99": "1.05"
},
"http_req_waiting": {
"count": 449,
"min": "2.63",
"max": "27668.08",
"avg": "8082.53",
"p50": "7510.37",
"p90": "17887.60",
"p95": "20220.42",
"p99": "22950.07"
},
"http_req_receiving": {
"count": 449,
"min": "0.00",
"max": "12.41",
"avg": "0.96",
"p50": "0.92",
"p90": "1.68",
"p95": "1.99",
"p99": "2.68"
},
"http_req_failed": {
"count": 449,
"min": "0.00",
"max": "1.00",
"avg": "0.20",
"p50": "0.00",
"p90": "1.00",
"p95": "1.00",
"p99": "1.00"
},
"walkguide_error_rate": {
"count": 449,
"min": "0.00",
"max": "1.00",
"avg": "0.20",
"p50": "0.00",
"p90": "1.00",
"p95": "1.00",
"p99": "1.00"
},
"walkguide_endpoint_latency_ms": {
"count": 449,
"min": "2.63",
"max": "27668.08",
"avg": "8083.59",
"p50": "7511.44",
"p90": "17888.41",
"p95": "20220.42",
"p99": "22951.89"
},
"walkguide_successful_requests": {
"count": 360,
"min": "1.00",
"max": "1.00",
"avg": "1.00",
"p50": "1.00",
"p90": "1.00",
"p95": "1.00",
"p99": "1.00"
},
"data_sent": {
"count": 100,
"min": "86.00",
"max": "1732.00",
"avg": "1580.91",
"p50": "1703.00",
"p90": "1731.00",
"p95": "1731.00",
"p99": "1731.00"
},
"data_received": {
"count": 100,
"min": "0.00",
"max": "3892.00",
"avg": "3506.23",
"p50": "3862.00",
"p90": "3892.00",
"p95": "3892.00",
"p99": "3892.00"
},
"vus": {
"count": 190,
"min": "0.00",
"max": "30.00",
"avg": "20.67",
"p50": "24.00",
"p90": "30.00",
"p95": "30.00",
"p99": "30.00"
},
"vus_max": {
"count": 190,
"min": "30.00",
"max": "30.00",
"avg": "30.00",
"p50": "30.00",
"p90": "30.00",
"p95": "30.00",
"p99": "30.00"
},
"walkguide_auth_latency_ms": {
"count": 276,
"min": "522.77",
"max": "27668.08",
"avg": "10960.46",
"p50": "9665.59",
"p90": "20070.24",
"p95": "21407.64",
"p99": "24281.10"
},
"checks": {
"count": 906,
"min": "0.00",
"max": "1.00",
"avg": "0.85",
"p50": "1.00",
"p90": "1.00",
"p95": "1.00",
"p99": "1.00"
},
"walkguide_failed_requests": {
"count": 89,
"min": "1.00",
"max": "1.00",
"avg": "1.00",
"p50": "1.00",
"p90": "1.00",
"p95": "1.00",
"p99": "1.00"
},
"iteration_duration": {
"count": 82,
"min": "17808.36",
"max": "57476.23",
"avg": "42135.31",
"p50": "44984.45",
"p90": "51921.35",
"p95": "55163.55",
"p99": "57476.23"
},
"iterations": {
"count": 82,
"min": "1.00",
"max": "1.00",
"avg": "1.00",
"p50": "1.00",
"p90": "1.00",
"p95": "1.00",
"p99": "1.00"
}
},
"endpoints": {
"ping": {
"http_reqs": {
"count": 1,
"min": "1.00",
"max": "1.00",
"avg": "1.00",
"p50": "1.00",
"p90": "1.00",
"p95": "1.00",
"p99": "1.00"
},
"http_req_duration": {
"count": 1,
"min": "10.05",
"max": "10.05",
"avg": "10.05",
"p50": "10.05",
"p90": "10.05",
"p95": "10.05",
"p99": "10.05"
},
"http_req_blocked": {
"count": 1,
"min": "5.18",
"max": "5.18",
"avg": "5.18",
"p50": "5.18",
"p90": "5.18",
"p95": "5.18",
"p99": "5.18"
},
"http_req_connecting": {
"count": 1,
"min": "2.31",
"max": "2.31",
"avg": "2.31",
"p50": "2.31",
"p90": "2.31",
"p95": "2.31",
"p99": "2.31"
},
"http_req_tls_handshaking": {
"count": 1,
"min": "0.00",
"max": "0.00",
"avg": "0.00",
"p50": "0.00",
"p90": "0.00",
"p95": "0.00",
"p99": "0.00"
},
"http_req_sending": {
"count": 1,
"min": "0.68",
"max": "0.68",
"avg": "0.68",
"p50": "0.68",
"p90": "0.68",
"p95": "0.68",
"p99": "0.68"
},
"http_req_waiting": {
"count": 1,
"min": "8.68",
"max": "8.68",
"avg": "8.68",
"p50": "8.68",
"p90": "8.68",
"p95": "8.68",
"p99": "8.68"
},
"http_req_receiving": {
"count": 1,
"min": "0.69",
"max": "0.69",
"avg": "0.69",
"p50": "0.69",
"p90": "0.69",
"p95": "0.69",
"p99": "0.69"
},
"http_req_failed": {
"count": 1,
"min": "0.00",
"max": "0.00",
"avg": "0.00",
"p50": "0.00",
"p90": "0.00",
"p95": "0.00",
"p99": "0.00"
},
"walkguide_endpoint_latency_ms": {
"count": 1,
"min": "10.05",
"max": "10.05",
"avg": "10.05",
"p50": "10.05",
"p90": "10.05",
"p95": "10.05",
"p99": "10.05"
}
},
"register": {
"http_reqs": {
"count": 96,
"min": "1.00",
"max": "1.00",
"avg": "1.00",
"p50": "1.00",
"p90": "1.00",
"p95": "1.00",
"p99": "1.00"
},
"http_req_duration": {
"count": 96,
"min": "10681.16",
"max": "27668.08",
"avg": "17852.30",
"p50": "17123.99",
"p90": "21880.05",
"p95": "22951.89",
"p99": "27668.08"
},
"http_req_blocked": {
"count": 96,
"min": "0.00",
"max": "49.58",
"avg": "1.83",
"p50": "0.00",
"p90": "4.30",
"p95": "6.22",
"p99": "49.58"
},
"http_req_connecting": {
"count": 96,
"min": "0.00",
"max": "44.22",
"avg": "1.69",
"p50": "0.00",
"p90": "4.05",
"p95": "6.22",
"p99": "44.22"
},
"http_req_tls_handshaking": {
"count": 96,
"min": "0.00",
"max": "0.00",
"avg": "0.00",
"p50": "0.00",
"p90": "0.00",
"p95": "0.00",
"p99": "0.00"
},
"http_req_sending": {
"count": 96,
"min": "0.00",
"max": "1.07",
"avg": "0.13",
"p50": "0.00",
"p90": "0.66",
"p95": "1.00",
"p99": "1.07"
},
"http_req_waiting": {
"count": 96,
"min": "10680.59",
"max": "27668.08",
"avg": "17851.15",
"p50": "17122.98",
"p90": "21879.43",
"p95": "22950.07",
"p99": "27668.08"
},
"http_req_receiving": {
"count": 96,
"min": "0.00",
"max": "4.81",
"avg": "1.02",
"p50": "1.00",
"p90": "1.79",
"p95": "2.01",
"p99": "4.81"
},
"http_req_failed": {
"count": 96,
"min": "0.00",
"max": "0.00",
"avg": "0.00",
"p50": "0.00",
"p90": "0.00",
"p95": "0.00",
"p99": "0.00"
},
"walkguide_endpoint_latency_ms": {
"count": 96,
"min": "10681.16",
"max": "27668.08",
"avg": "17852.30",
"p50": "17123.99",
"p90": "21880.05",
"p95": "22951.89",
"p99": "27668.08"
}
},
"login": {
"http_reqs": {
"count": 91,
"min": "1.00",
"max": "1.00",
"avg": "1.00",
"p50": "1.00",
"p90": "1.00",
"p95": "1.00",
"p99": "1.00"
},
"http_req_duration": {
"count": 91,
"min": "1772.77",
"max": "14543.87",
"avg": "7965.94",
"p50": "8000.59",
"p90": "11844.57",
"p95": "12682.39",
"p99": "14543.87"
},
"http_req_blocked": {
"count": 91,
"min": "0.00",
"max": "0.73",
"avg": "0.02",
"p50": "0.00",
"p90": "0.00",
"p95": "0.00",
"p99": "0.73"
},
"http_req_connecting": {
"count": 91,
"min": "0.00",
"max": "0.00",
"avg": "0.00",
"p50": "0.00",
"p90": "0.00",
"p95": "0.00",
"p99": "0.00"
},
"http_req_tls_handshaking": {
"count": 91,
"min": "0.00",
"max": "0.00",
"avg": "0.00",
"p50": "0.00",
"p90": "0.00",
"p95": "0.00",
"p99": "0.00"
},
"http_req_sending": {
"count": 91,
"min": "0.00",
"max": "1.06",
"avg": "0.06",
"p50": "0.00",
"p90": "0.00",
"p95": "0.58",
"p99": "1.06"
},
"http_req_waiting": {
"count": 91,
"min": "1771.84",
"max": "14542.74",
"avg": "7964.89",
"p50": "7999.79",
"p90": "11843.89",
"p95": "12681.28",
"p99": "14542.74"
},
"http_req_receiving": {
"count": 91,
"min": "0.00",
"max": "2.68",
"avg": "0.99",
"p50": "0.99",
"p90": "1.81",
"p95": "2.01",
"p99": "2.68"
},
"http_req_failed": {
"count": 91,
"min": "0.00",
"max": "0.00",
"avg": "0.00",
"p50": "0.00",
"p90": "0.00",
"p95": "0.00",
"p99": "0.00"
},
"walkguide_endpoint_latency_ms": {
"count": 91,
"min": "1772.77",
"max": "14543.87",
"avg": "7965.94",
"p50": "8000.59",
"p90": "11844.57",
"p95": "12682.39",
"p99": "14543.87"
}
},
"refresh_token": {
"http_reqs": {
"count": 89,
"min": "1.00",
"max": "1.00",
"avg": "1.00",
"p50": "1.00",
"p90": "1.00",
"p95": "1.00",
"p99": "1.00"
},
"http_req_duration": {
"count": 89,
"min": "522.77",
"max": "12849.36",
"avg": "6588.39",
"p50": "6296.13",
"p90": "10885.80",
"p95": "11650.98",
"p99": "12849.36"
},
"http_req_blocked": {
"count": 89,
"min": "0.00",
"max": "3.06",
"avg": "0.03",
"p50": "0.00",
"p90": "0.00",
"p95": "0.00",
"p99": "3.06"
},
"http_req_connecting": {
"count": 89,
"min": "0.00",
"max": "0.00",
"avg": "0.00",
"p50": "0.00",
"p90": "0.00",
"p95": "0.00",
"p99": "0.00"
},
"http_req_tls_handshaking": {
"count": 89,
"min": "0.00",
"max": "0.00",
"avg": "0.00",
"p50": "0.00",
"p90": "0.00",
"p95": "0.00",
"p99": "0.00"
},
"http_req_sending": {
"count": 89,
"min": "0.00",
"max": "1.05",
"avg": "0.07",
"p50": "0.00",
"p90": "0.00",
"p95": "0.60",
"p99": "1.05"
},
"http_req_waiting": {
"count": 89,
"min": "521.80",
"max": "12848.36",
"avg": "6587.31",
"p50": "6295.43",
"p90": "10884.87",
"p95": "11650.04",
"p99": "12848.36"
},
"http_req_receiving": {
"count": 89,
"min": "0.00",
"max": "12.41",
"avg": "1.02",
"p50": "0.94",
"p90": "1.65",
"p95": "1.85",
"p99": "12.41"
},
"http_req_failed": {
"count": 89,
"min": "0.00",
"max": "0.00",
"avg": "0.00",
"p50": "0.00",
"p90": "0.00",
"p95": "0.00",
"p99": "0.00"
},
"walkguide_endpoint_latency_ms": {
"count": 89,
"min": "522.77",
"max": "12849.36",
"avg": "6588.39",
"p50": "6296.13",
"p90": "10885.80",
"p95": "11650.98",
"p99": "12849.36"
}
},
"fcm_token": {
"http_reqs": {
"count": 89,
"min": "1.00",
"max": "1.00",
"avg": "1.00",
"p50": "1.00",
"p90": "1.00",
"p95": "1.00",
"p99": "1.00"
},
"http_req_duration": {
"count": 89,
"min": "2.63",
"max": "90.71",
"avg": "18.12",
"p50": "14.87",
"p90": "33.04",
"p95": "55.19",
"p99": "90.71"
},
"http_req_blocked": {
"count": 89,
"min": "0.00",
"max": "0.53",
"avg": "0.01",
"p50": "0.00",
"p90": "0.00",
"p95": "0.00",
"p99": "0.53"
},
"http_req_connecting": {
"count": 89,
"min": "0.00",
"max": "0.00",
"avg": "0.00",
"p50": "0.00",
"p90": "0.00",
"p95": "0.00",
"p99": "0.00"
},
"http_req_tls_handshaking": {
"count": 89,
"min": "0.00",
"max": "0.00",
"avg": "0.00",
"p50": "0.00",
"p90": "0.00",
"p95": "0.00",
"p99": "0.00"
},
"http_req_sending": {
"count": 89,
"min": "0.00",
"max": "1.13",
"avg": "0.07",
"p50": "0.00",
"p90": "0.00",
"p95": "0.51",
"p99": "1.13"
},
"http_req_waiting": {
"count": 89,
"min": "2.63",
"max": "78.67",
"avg": "17.25",
"p50": "14.87",
"p90": "31.50",
"p95": "54.17",
"p99": "78.67"
},
"http_req_receiving": {
"count": 89,
"min": "0.00",
"max": "12.04",
"avg": "0.81",
"p50": "0.67",
"p90": "1.40",
"p95": "1.70",
"p99": "12.04"
},
"http_req_failed": {
"count": 89,
"min": "1.00",
"max": "1.00",
"avg": "1.00",
"p50": "1.00",
"p90": "1.00",
"p95": "1.00",
"p99": "1.00"
},
"walkguide_endpoint_latency_ms": {
"count": 89,
"min": "2.63",
"max": "90.71",
"avg": "18.12",
"p50": "14.87",
"p90": "33.04",
"p95": "55.19",
"p99": "90.71"
}
},
"logout": {
"http_reqs": {
"count": 83,
"min": "1.00",
"max": "1.00",
"avg": "1.00",
"p50": "1.00",
"p90": "1.00",
"p95": "1.00",
"p99": "1.00"
},
"http_req_duration": {
"count": 83,
"min": "1034.90",
"max": "14379.83",
"avg": "7262.90",
"p50": "7351.00",
"p90": "11740.26",
"p95": "12342.59",
"p99": "14379.83"
},
"http_req_blocked": {
"count": 83,
"min": "0.53",
"max": "27.01",
"avg": "3.15",
"p50": "2.80",
"p90": "4.60",
"p95": "5.34",
"p99": "27.01"
},
"http_req_connecting": {
"count": 83,
"min": "0.53",
"max": "25.02",
"avg": "3.03",
"p50": "2.68",
"p90": "4.60",
"p95": "5.34",
"p99": "25.02"
},
"http_req_tls_handshaking": {
"count": 83,
"min": "0.00",
"max": "0.00",
"avg": "0.00",
"p50": "0.00",
"p90": "0.00",
"p95": "0.00",
"p99": "0.00"
},
"http_req_sending": {
"count": 83,
"min": "0.00",
"max": "1.00",
"avg": "0.18",
"p50": "0.00",
"p90": "0.68",
"p95": "0.75",
"p99": "1.00"
},
"http_req_waiting": {
"count": 83,
"min": "1033.82",
"max": "14377.67",
"avg": "7261.78",
"p50": "7351.00",
"p90": "11738.45",
"p95": "12341.32",
"p99": "14377.67"
},
"http_req_receiving": {
"count": 83,
"min": "0.00",
"max": "2.48",
"avg": "0.95",
"p50": "0.93",
"p90": "1.68",
"p95": "1.78",
"p99": "2.48"
},
"http_req_failed": {
"count": 83,
"min": "0.00",
"max": "0.00",
"avg": "0.00",
"p50": "0.00",
"p90": "0.00",
"p95": "0.00",
"p99": "0.00"
},
"walkguide_endpoint_latency_ms": {
"count": 83,
"min": "1034.90",
"max": "14379.83",
"avg": "7262.90",
"p50": "7351.00",
"p90": "11740.26",
"p95": "12342.59",
"p99": "14379.83"
}
},
"unknown": {
"walkguide_error_rate": {
"count": 449,
"min": "0.00",
"max": "1.00",
"avg": "0.20",
"p50": "0.00",
"p90": "1.00",
"p95": "1.00",
"p99": "1.00"
},
"walkguide_successful_requests": {
"count": 360,
"min": "1.00",
"max": "1.00",
"avg": "1.00",
"p50": "1.00",
"p90": "1.00",
"p95": "1.00",
"p99": "1.00"
},
"data_sent": {
"count": 100,
"min": "86.00",
"max": "1732.00",
"avg": "1580.91",
"p50": "1703.00",
"p90": "1731.00",
"p95": "1731.00",
"p99": "1731.00"
},
"data_received": {
"count": 100,
"min": "0.00",
"max": "3892.00",
"avg": "3506.23",
"p50": "3862.00",
"p90": "3892.00",
"p95": "3892.00",
"p99": "3892.00"
},
"vus": {
"count": 190,
"min": "0.00",
"max": "30.00",
"avg": "20.67",
"p50": "24.00",
"p90": "30.00",
"p95": "30.00",
"p99": "30.00"
},
"vus_max": {
"count": 190,
"min": "30.00",
"max": "30.00",
"avg": "30.00",
"p50": "30.00",
"p90": "30.00",
"p95": "30.00",
"p99": "30.00"
},
"walkguide_auth_latency_ms": {
"count": 276,
"min": "522.77",
"max": "27668.08",
"avg": "10960.46",
"p50": "9665.59",
"p90": "20070.24",
"p95": "21407.64",
"p99": "24281.10"
},
"checks": {
"count": 906,
"min": "0.00",
"max": "1.00",
"avg": "0.85",
"p50": "1.00",
"p90": "1.00",
"p95": "1.00",
"p99": "1.00"
},
"walkguide_failed_requests": {
"count": 89,
"min": "1.00",
"max": "1.00",
"avg": "1.00",
"p50": "1.00",
"p90": "1.00",
"p95": "1.00",
"p99": "1.00"
},
"iteration_duration": {
"count": 82,
"min": "17808.36",
"max": "57476.23",
"avg": "42135.31",
"p50": "44984.45",
"p90": "51921.35",
"p95": "55163.55",
"p99": "57476.23"
},
"iterations": {
"count": 82,
"min": "1.00",
"max": "1.00",
"avg": "1.00",
"p50": "1.00",
"p90": "1.00",
"p95": "1.00",
"p99": "1.00"
}
}
},
"walkguideMetrics": {
"authLatency": {
"p95": "21407.64 ms",
"p99": "24281.10 ms",
"avg": "10960.46 ms"
},
"locationLatency": null,
"obstacleLatency": null,
"sosLatency": null,
"notifLatency": null,
"timelineLatency": null,
"pairingLatency": null
},
"thresholdResults": [
{
"name": "p95 overall < 500ms",
"metric": "http_req_duration",
"threshold": "500 ms",
"actual": "20220.42 ms",
"result": "❌ FAIL"
},
{
"name": "error rate < 1%",
"metric": "http_req_failed",
"threshold": "0.01 rate",
"actual": "0.20 rate",
"result": "❌ FAIL"
},
{
"name": "SOS p95 < 200ms",
"metric": "walkguide_sos_latency_ms",
"stat": "p95",
"threshold": 200,
"unit": "ms",
"operator": "<",
"actual": "N/A",
"result": "SKIP"
},
{
"name": "Location p95 < 300ms",
"metric": "walkguide_location_latency_ms",
"stat": "p95",
"threshold": 300,
"unit": "ms",
"operator": "<",
"actual": "N/A",
"result": "SKIP"
},
{
"name": "Obstacle p95 < 400ms",
"metric": "walkguide_obstacle_latency_ms",
"stat": "p95",
"threshold": 400,
"unit": "ms",
"operator": "<",
"actual": "N/A",
"result": "SKIP"
},
{
"name": "Auth p95 < 800ms",
"metric": "walkguide_auth_latency_ms",
"threshold": "800 ms",
"actual": "21407.64 ms",
"result": "❌ FAIL"
},
{
"name": "Timeline p95 < 1000ms",
"metric": "walkguide_timeline_latency_ms",
"stat": "p95",
"threshold": 1000,
"unit": "ms",
"operator": "<",
"actual": "N/A",
"result": "SKIP"
},
{
"name": "Notification p95 < 500ms",
"metric": "walkguide_notif_latency_ms",
"stat": "p95",
"threshold": 500,
"unit": "ms",
"operator": "<",
"actual": "N/A",
"result": "SKIP"
}
]
}