Documentation
¶
Index ¶
Constants ¶
View Source
const ( // UseProfileFieldName использовать ли pprof UseProfileFieldName = "trace.pprof" // EndpointFieldName путь для pprof EndpointFieldName = "server.http.routes.pprof" )
Variables ¶
View Source
var ( // UseProfileDefault включить pprof UseProfileDefault = false // EndpointDefault путь для pprof EndpointDefault = "/debug" )
View Source
var Component = compogo.Component{ Dependencies: compogo.Components{ &chi.Component, }, Init: compogo.StepFunc(func(container compogo.Container) error { return container.Provide(NewConfig) }), BindFlags: compogo.BindFlags(func(flagSet flag.FlagSet, container compogo.Container) error { return container.Invoke(func(config *Config) { flagSet.BoolVar(&config.UseProfile, UseProfileFieldName, UseProfileDefault, "if true, add debug path to routing") flagSet.StringVar(&config.Endpoint, EndpointFieldName, EndpointDefault, "path for debug endpoint") }) }), Configuration: compogo.StepFunc(func(container compogo.Container) error { return container.Invoke(Configuration) }), PreExecute: compogo.StepFunc(func(container compogo.Container) error { return container.Invoke(func(config *Config, r httpServer.Router, logger compogo.Logger) { if config.UseProfile { logger.GetLogger("http"). GetLogger("server"). GetLogger("router"). GetLogger("chi"). Infof("add pprof endpoint - '%s'", config.Endpoint) r.Mount(config.Endpoint, middleware.Profiler()) } }) }), }
Component — компонент pprof эндпоинтов для chi-роутера. Добавляет эндпоинты для профилирования (CPU, memory, goroutine и т.д.). Включается только если UseProfile = true.
Functions ¶
This section is empty.
Types ¶
type Config ¶
Config содержит конфигурацию pprof эндпоинтов.
func Configuration ¶
func Configuration(config *Config, configurator compogo.Configurator) *Config
Configuration загружает конфигурацию из Configurator.
Click to show internal directories.
Click to hide internal directories.