$benchmarkResults * @param LoadTestResult|null $loadTestResult * @return string HTML content */ public function generateHtmlReport( array $benchmarkResults, ?LoadTestResult $loadTestResult = null ): string { $html = <<
Total Benchmarks: {$this->countBenchmarks($benchmarkResults)}
| Benchmark | Iterations | Avg Time | Min | Max | P95 | Ops/Sec |
|---|---|---|---|---|---|---|
| {$result->name} | \n"; $html .= "{$result->iterations} | \n"; $html .= "" . round($result->avgTimeMs, 2) . "ms | \n"; $html .= "" . round($result->minTimeMs, 2) . "ms | \n"; $html .= "" . round($result->maxTimeMs, 2) . "ms | \n"; $html .= "" . round($result->p95TimeMs, 2) . "ms | \n"; $html .= "" . round($result->operationsPerSecond, 2) . " | \n"; $html .= "
| Metric | Value |
|---|---|
| Total Requests | {$result->totalRequests} |
| Successful Requests | {$result->successfulRequests} |
| Error Rate | " . round($result->errorRate, 2) . "% |
| Avg Response Time | " . round($result->avgResponseTimeMs, 2) . "ms |
| P95 Response Time | " . round($result->p95ResponseTimeMs, 2) . "ms |
| P99 Response Time | " . round($result->p99ResponseTimeMs, 2) . "ms |
| Throughput | " . round($result->requestsPerSecond, 2) . " req/sec |