Ограничено ли профилирование только встроенными профилями?
В дополнение к тому, что предоставляется runtime/pprof, пользователи Go могут создавать свои собственные профили через pprof.Profile и использовать существующие инструменты для их изучения.
Возможно ли обслуживать обработчики профилировщика (/debug/pprof/...) по другому пути и порту?
Да. Пакет net/http/pprof по умолчанию регистрирует свои обработчики в mux по умолчанию, но вы также можете зарегистрировать их самостоятельно, используя обработчики, экспортированные из пакета.
Например, следующий пример будет обслуживать обработчик pprof.Profile на порту :7777 в /custom_debug_path/profile:
package main
import (
"log"
"net/http"
"net/http/pprof"
)
func main() {
mux := http.NewServeMux()
mux.HandleFunc("/custom_debug_path/profile", pprof.Profile)
log.Fatal(http.ListenAndServe(":7777", mux))
}
Читайте также:
- Профилирование в Golang, профили runtime/pprof
- Исследование утечек памяти в Golang с помощью pprof
- Диагностика в Golang
Комментариев нет:
Отправить комментарий