This is an automated email from the ASF dual-hosted git repository.

astefanutti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-k.git


The following commit(s) were added to refs/heads/main by this push:
     new a0daa6e  feat: Set GOMAXPROCS based on CPU quota
a0daa6e is described below

commit a0daa6eced76657c0a93ecb7617e774daedc842f
Author: Antonin Stefanutti <anto...@stefanutti.fr>
AuthorDate: Wed Dec 15 17:48:00 2021 +0100

    feat: Set GOMAXPROCS based on CPU quota
---
 go.mod                       | 1 +
 go.sum                       | 1 +
 pkg/cmd/operator/operator.go | 5 +++++
 3 files changed, 7 insertions(+)

diff --git a/go.mod b/go.mod
index e11b03b..bb740d4 100644
--- a/go.mod
+++ b/go.mod
@@ -40,6 +40,7 @@ require (
        github.com/spf13/viper v1.8.1
        github.com/stoewer/go-strcase v1.2.0
        github.com/stretchr/testify v1.7.0
+       go.uber.org/automaxprocs v1.4.0
        go.uber.org/multierr v1.6.0
        go.uber.org/zap v1.19.1
        golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8
diff --git a/go.sum b/go.sum
index 74904a0..8e3f6e8 100644
--- a/go.sum
+++ b/go.sum
@@ -1158,6 +1158,7 @@ go.uber.org/atomic v1.4.0/go.mod 
h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
 go.uber.org/atomic v1.7.0/go.mod 
h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
 go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE=
 go.uber.org/atomic v1.9.0/go.mod 
h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
+go.uber.org/automaxprocs v1.4.0 h1:CpDZl6aOlLhReez+8S3eEotD7Jx0Os++lemPlMULQP0=
 go.uber.org/automaxprocs v1.4.0/go.mod 
h1:/mTEdr7LvHhs0v7mjdxDreTz1OG5zdZGqgOnhWiR/+Q=
 go.uber.org/goleak v1.1.10/go.mod 
h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
 go.uber.org/goleak v1.1.11-0.20210813005559-691160354723 
h1:sHOAIxRGBp443oHZIPB+HsUGaksVCXVQENPxwTfQdH4=
diff --git a/pkg/cmd/operator/operator.go b/pkg/cmd/operator/operator.go
index 256d9d5..3741079 100644
--- a/pkg/cmd/operator/operator.go
+++ b/pkg/cmd/operator/operator.go
@@ -27,6 +27,8 @@ import (
        "strconv"
        "time"
 
+       "go.uber.org/automaxprocs/maxprocs"
+
        appsv1 "k8s.io/api/apps/v1"
        batchv1 "k8s.io/api/batch/v1"
        batchv1beta1 "k8s.io/api/batch/v1beta1"
@@ -89,6 +91,9 @@ func Run(healthPort, monitoringPort int32, leaderElection 
bool) {
 
        klog.SetLogger(log)
 
+       _, err := maxprocs.Set(maxprocs.Logger(func(f string, a ...interface{}) 
{ log.Info(fmt.Sprintf(f, a)) }))
+       exitOnError(err, "failed to set GOMAXPROCS from cgroups")
+
        printVersion()
 
        watchNamespace, err := getWatchNamespace()

Reply via email to