Junior — Middle
Jak można określić, czy konkretne zapytanie jest wykonywane z opóźnieniem?
sobes.tech AI
Odpowiedź od AI
Aby określić, czy konkretne żądanie wykonywane jest z opóźnieniem w Go, można zmierzyć czas wykonania żądania za pomocą pakietu time.
Przykład:
package main
import (
"fmt"
"net/http"
"time"
)
func main() {
start := time.Now()
resp, err := http.Get("https://example.com")
if err != nil {
fmt.Println("Błąd żądania:", err)
return
}
defer resp.Body.Close()
duration := time.Since(start)
fmt.Printf("Czas wykonania żądania: %v\n", duration)
// Jeśli czas jest dłuższy od progu, uznajemy, że występuje opóźnienie
threshold := 500 * time.Millisecond
if duration > threshold {
fmt.Println("Żądanie wykonywane z opóźnieniem")
} else {
fmt.Println("Żądanie wykonane szybko")
}
}
W ten sposób, mierząc czas od początku do końca żądania, można określić, czy przekracza ono dozwolony próg i uznać je za "opóźnione".