1
0
mirror of https://github.com/coreos/prometheus-operator.git synced 2026-02-05 06:45:27 +01:00

feat(env): auto set GOMAXPROCS by go.uber.org/automaxprocs (#6576)

---------

Signed-off-by: dongjiang1989 <dongjiang1989@126.com>
This commit is contained in:
dongjiang
2024-05-16 17:17:58 +08:00
committed by GitHub
parent 0b7fbf3ce2
commit bac5d117fc
4 changed files with 22 additions and 0 deletions

View File

@@ -24,6 +24,7 @@ import (
"os"
"os/signal"
"regexp"
"strings"
"syscall"
"github.com/go-kit/log"
@@ -33,6 +34,7 @@ import (
versioncollector "github.com/prometheus/client_golang/prometheus/collectors/version"
"github.com/prometheus/client_golang/prometheus/promhttp"
"github.com/prometheus/common/version"
"go.uber.org/automaxprocs/maxprocs"
"golang.org/x/sync/errgroup"
corev1 "k8s.io/api/core/v1"
storagev1 "k8s.io/api/storage/v1"
@@ -184,6 +186,13 @@ func run(fs *flag.FlagSet) int {
stdlog.Fatal(err)
}
l := func(format string, a ...interface{}) {
level.Info(logger).Log("component", "automaxprocs", "msg", fmt.Sprintf(strings.TrimPrefix(format, "maxprocs: "), a...))
}
if _, err := maxprocs.Set(maxprocs.Logger(l)); err != nil {
level.Warn(logger).Log("msg", "Failed to set GOMAXPROCS automatically", "err", err)
}
level.Info(logger).Log("msg", "Starting Prometheus Operator", "version", version.Info())
level.Info(logger).Log("build_context", version.BuildContext())

View File

@@ -37,6 +37,7 @@ import (
"github.com/prometheus/common/version"
"github.com/prometheus/exporter-toolkit/web"
"github.com/thanos-io/thanos/pkg/reloader"
"go.uber.org/automaxprocs/maxprocs"
logging "github.com/prometheus-operator/prometheus-operator/internal/log"
"github.com/prometheus-operator/prometheus-operator/pkg/operator"
@@ -122,6 +123,13 @@ func main() {
stdlog.Fatal(err)
}
l := func(format string, a ...interface{}) {
level.Info(logger).Log("component", "automaxprocs", "msg", fmt.Sprintf(strings.TrimPrefix(format, "maxprocs: "), a...))
}
if _, err := maxprocs.Set(maxprocs.Logger(l)); err != nil {
level.Warn(logger).Log("msg", "Failed to set GOMAXPROCS automatically", "err", err)
}
err = web.Validate(*webConfig)
if err != nil {
level.Error(logger).Log("msg", "Unable to validate web configuration file", "err", err)