Sobes.tech
Senior

Da li ste podesili praćenje?

sobes.tech АИ

Одговор од АИ

Da, u Go-u se može konfigurirati praćenje pomoću paketa runtime/trace. Praćenje omogućava prikupljanje detaljnih informacija o izvršavanju programa: planera, sistemskih poziva, blokada, rada gorutina itd.

Primer pokretanja praćenja:

import (
    "os"
    "runtime/trace"
    "log"
)

func main() {
    f, err := os.Create("trace.out")
    if err != nil {
        log.Fatal(err)
    }
    defer f.Close()

    err = trace.Start(f)
    if err != nil {
        log.Fatal(err)
    }
    defer trace.Stop()

    // kod programa
}

Zatim, generisani fajl može biti analiziran pomoću go tool trace trace.out za vizualizaciju i pronalaženje uskih grla.