Lewati ke konten

Debugging

Panduan ini mendemonstrasikan berbagai alat untuk memeriksa dan menyelidiki kemungkinan masalah performa dalam aplikasi Wails Anda menggunakan

  • runtime/trace untuk membuat graf performa dan memeriksanya di browser
  1. Siapkan aplikasi Anda untuk Tracing

    Dekat entrypoint program Anda, pastikan kode seperti berikut ada

    // Create the file to store our trace data within
    traceFile, err := os.Create("trace.out")
    if err != nil {
    log.Fatalf("trace.out could not be created: %v", err)
    }
    // Start the trace
    if err := trace.Start(traceFile); err != nil {
    _ = traceFile.Close()
    log.Fatalf("trace.start could not start: %v", err)
    }
    // Trace cleanup on exit. Alternatively,
    defer func() {
    trace.Stop()
    _ = traceFile.Close()
    }()
    ...Start your wails app here...

    Output akan disimpan ke trace.out dalam working path Anda dengan metrik yang mencakup runtime lengkap aplikasi Anda. Trace default cukup mentah; disarankan membaca lebih lanjut tentang trace untuk menambahkan informasi kontekstual dan membatasi apa yang benar-benar direkam. Contoh: WithRegion, NewTask, Log

  2. Jalankan aplikasi Anda untuk membuat trace

    Dengan aplikasi berjalan, trace kontinu akan dihasilkan hingga titik exit, jadi lakukan beberapa aksi di aplikasi Anda dan exit saat selesai

  3. Instal helper visualisasi

    Beberapa tampilan memerlukan Graphviz. Anda dapat memverifikasi terinstal dengan menjalankan dot -V

    Terminal window
    # macOS
    brew install graphviz
    # Ubuntu/Debian
    sudo apt-get install graphviz
    # Arch
    sudo pacman -S graphviz
  4. Visualisasikan trace Anda

    Dengan data trace tersedia, kita dapat memulai antarmuka web

    Terminal window
    go tool trace trace.out

    Ini seharusnya membuka browser default Anda (disarankan Chrome-based) dengan halaman utama trace event viewer.

    Untuk pengguna pertama kali, layar Syscall profile mungkin paling berguna. Ini memberikan breakdown persis apa yang dilakukan program beserta waktunya