1
0
Fork 0

Logging at the end is improved.

This commit is contained in:
Atridad Lahiji 2024-12-04 18:25:51 -06:00
parent e8f9b1a763
commit 9f746927aa
Signed by: atridad
SSH key fingerprint: SHA256:LGomp8Opq0jz+7kbwNcdfTcuaLRb5Nh0k5AchDDb438

View file

@ -60,6 +60,7 @@ func UpdateMetrics(duration time.Duration, resp *http.Response, second int) {
// Parameters: // Parameters:
// - latencies: sorted slice of request durations // - latencies: sorted slice of request durations
// - percentile: desired percentile (e.g., 50 for p50, 95 for p95) // - percentile: desired percentile (e.g., 50 for p50, 95 for p95)
//
// Returns: the duration at the specified percentile // Returns: the duration at the specified percentile
func calculatePercentile(latencies []time.Duration, percentile float64) time.Duration { func calculatePercentile(latencies []time.Duration, percentile float64) time.Duration {
if len(latencies) == 0 { if len(latencies) == 0 {
@ -86,9 +87,6 @@ func CalculateAndPrintMetrics(startTime time.Time, requestsPerSecond float64, en
metrics.Mu.Lock() metrics.Mu.Lock()
defer metrics.Mu.Unlock() defer metrics.Mu.Unlock()
// Save detailed per-request metrics to CSV
saveDetailedMetrics()
// Prepare latencies for percentile calculations // Prepare latencies for percentile calculations
latencies := make([]time.Duration, len(metrics.RequestLatencies)) latencies := make([]time.Duration, len(metrics.RequestLatencies))
for i, metric := range metrics.RequestLatencies { for i, metric := range metrics.RequestLatencies {
@ -160,6 +158,7 @@ func CalculateAndPrintMetrics(startTime time.Time, requestsPerSecond float64, en
fmt.Println(results) fmt.Println(results)
saveReport(results) saveReport(results)
saveDetailedMetrics()
} }
// saveDetailedMetrics writes per-request metrics to a CSV file // saveDetailedMetrics writes per-request metrics to a CSV file