forked from TrueCloudLab/frostfs-node
Alex Vanin
20de74a505
Due to source code relocation from GitHub. Signed-off-by: Alex Vanin <a.vanin@yadro.com>
37 lines
1.1 KiB
Go
37 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
profilerconfig "git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-node/config/profiler"
|
|
httputil "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/util/http"
|
|
)
|
|
|
|
func pprofComponent(c *cfg) (*httpComponent, bool) {
|
|
var updated bool
|
|
// check if it has been inited before
|
|
if c.dynamicConfiguration.pprof == nil {
|
|
c.dynamicConfiguration.pprof = new(httpComponent)
|
|
c.dynamicConfiguration.pprof.cfg = c
|
|
c.dynamicConfiguration.pprof.name = "pprof"
|
|
c.dynamicConfiguration.pprof.handler = httputil.Handler()
|
|
updated = true
|
|
}
|
|
|
|
// (re)init read configuration
|
|
enabled := profilerconfig.Enabled(c.appCfg)
|
|
if enabled != c.dynamicConfiguration.pprof.enabled {
|
|
c.dynamicConfiguration.pprof.enabled = enabled
|
|
updated = true
|
|
}
|
|
address := profilerconfig.Address(c.appCfg)
|
|
if address != c.dynamicConfiguration.pprof.address {
|
|
c.dynamicConfiguration.pprof.address = address
|
|
updated = true
|
|
}
|
|
dur := profilerconfig.ShutdownTimeout(c.appCfg)
|
|
if dur != c.dynamicConfiguration.pprof.shutdownDur {
|
|
c.dynamicConfiguration.pprof.shutdownDur = dur
|
|
updated = true
|
|
}
|
|
|
|
return c.dynamicConfiguration.pprof, updated
|
|
}
|