(overview: dict[str, Any], series: list[dict[str, Any]])
| 366 | |
| 367 | |
| 368 | def build_stats(overview: dict[str, Any], series: list[dict[str, Any]]) -> list[dict[str, str]]: |
| 369 | stats = [ |
| 370 | ("Total requests", format_compact(overview.get("requestsTotal"))), |
| 371 | ("Request rate", format_rate(overview.get("requestRate"))), |
| 372 | ("Throughput", format_tpm(overview.get("throughputPerMinute"))), |
| 373 | ("Peak throughput", format_tpm(overview.get("peakTpm"))), |
| 374 | ("Success rate", format_percent(overview.get("successRate"))), |
| 375 | ("Check rate", format_percent(overview.get("checkRate"))), |
| 376 | ("P50 latency", format_ms(overview.get("p50Ms"))), |
| 377 | ("P95 latency", format_ms(overview.get("p95Ms"))), |
| 378 | ("P99 latency", format_ms(overview.get("p99Ms"))), |
| 379 | ("Average latency", format_ms(overview.get("avgMs"))), |
| 380 | ("Max latency", format_ms(overview.get("maxMs"))), |
| 381 | ("Apdex", format_decimal(overview.get("apdex"))), |
| 382 | ("Virtual users", format_compact(overview.get("vus"))), |
| 383 | ("Max virtual users", format_compact(overview.get("vusMax"))), |
| 384 | ("Data sent", format_bytes(overview.get("dataSentBytes"))), |
| 385 | ("Data received", format_bytes(overview.get("dataReceivedBytes"))), |
| 386 | ("Series points", str(len(series)) if series else "n/a"), |
| 387 | ] |
| 388 | return [{"label": label, "display": value} for label, value in stats] |
| 389 | |
| 390 | |
| 391 | def metric_values(metrics: dict[str, Any], name: str) -> dict[str, Any]: |
no test coverage detected