Sobes.tech
Back to questions
Middle+
3

Расскажи про пакет pprof

Companies where asked
МВидеоМВидео

Answer from AI

sobes.tech AI

pprof — это пакет в Go, предназначенный для профилирования производительности программ. Он позволяет собирать и анализировать данные о потреблении CPU, памяти, блокировках и других ресурсах во время выполнения приложения.

Основные возможности pprof:

  • Сбор профилей CPU, памяти (heap), блокировок и горутин.
  • Визуализация профилей в виде графов вызовов, flame graphs и других форм.
  • Интеграция с HTTP-сервером для динамического профилирования работающего приложения.

Пример использования:

import (
    "net/http"
    _ "net/http/pprof"
)

func main() {
    go func() {
        log.Println(http.ListenAndServe("localhost:6060", nil))
    }()
    // основной код приложения
}

После запуска приложения можно открыть браузер по адресу http://localhost:6060/debug/pprof/ и просмотреть профили.

Также можно собирать профили командой:

go tool pprof http://localhost:6060/debug/pprof/profile?seconds=30

pprof помогает выявлять узкие места в производительности и оптимизировать код.