Sobes.tech
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".