четверг, 9 апреля 2020 г.

Настройка профилирования в Golang

Ограничено ли профилирование только встроенными профилями?

В дополнение к тому, что предоставляется 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))
}


Читайте также:


Комментариев нет:

Отправить комментарий