disable prometheus if not configured (#663)

This commit is contained in:
Kevin Wan
2021-04-30 15:09:49 +08:00
committed by GitHub
parent 9adc7d4cb9
commit 06eeef2cf3
7 changed files with 79 additions and 9 deletions

View File

@@ -7,10 +7,19 @@ import (
"github.com/prometheus/client_golang/prometheus/promhttp"
"github.com/tal-tech/go-zero/core/logx"
"github.com/tal-tech/go-zero/core/syncx"
"github.com/tal-tech/go-zero/core/threading"
)
var once sync.Once
var (
once sync.Once
enabled syncx.AtomicBool
)
// Enabled returns if prometheus is enabled.
func Enabled() bool {
return enabled.True()
}
// StartAgent starts a prometheus agent.
func StartAgent(c Config) {
@@ -19,6 +28,7 @@ func StartAgent(c Config) {
return
}
enabled.Set(true)
threading.GoSafe(func() {
http.Handle(c.Path, promhttp.Handler())
addr := fmt.Sprintf("%s:%d", c.Host, c.Port)