diff --git a/beacon-chain/BUILD.bazel b/beacon-chain/BUILD.bazel index 2f4a049306..2e2f324cca 100644 --- a/beacon-chain/BUILD.bazel +++ b/beacon-chain/BUILD.bazel @@ -20,6 +20,7 @@ go_library( "//shared/debug:go_default_library", "//shared/featureconfig:go_default_library", "//shared/logutil:go_default_library", + "//shared/maxprocs:go_default_library", "//shared/version:go_default_library", "@com_github_ethereum_go_ethereum//log:go_default_library", "@com_github_ipfs_go_log_v2//:go_default_library", @@ -28,7 +29,6 @@ go_library( "@com_github_urfave_cli_v2//:go_default_library", "@com_github_urfave_cli_v2//altsrc:go_default_library", "@com_github_x_cray_logrus_prefixed_formatter//:go_default_library", - "@org_uber_go_automaxprocs//:go_default_library", ], ) @@ -65,7 +65,7 @@ go_image( "@com_github_urfave_cli_v2//:go_default_library", "@com_github_urfave_cli_v2//altsrc:go_default_library", "@com_github_x_cray_logrus_prefixed_formatter//:go_default_library", - "@org_uber_go_automaxprocs//:go_default_library", + "//shared/maxprocs:go_default_library", ], ) diff --git a/beacon-chain/gateway/server/BUILD.bazel b/beacon-chain/gateway/server/BUILD.bazel index febb585980..3acf42e1ea 100644 --- a/beacon-chain/gateway/server/BUILD.bazel +++ b/beacon-chain/gateway/server/BUILD.bazel @@ -11,9 +11,9 @@ go_library( visibility = ["//visibility:private"], deps = [ "//beacon-chain/gateway:go_default_library", + "//shared/maxprocs:go_default_library", "@com_github_joonix_log//:go_default_library", "@com_github_sirupsen_logrus//:go_default_library", - "@org_uber_go_automaxprocs//:go_default_library", ], ) @@ -40,7 +40,7 @@ go_image( "@com_github_grpc_ecosystem_grpc_gateway//runtime:go_default_library", "@com_github_joonix_log//:go_default_library", "@com_github_sirupsen_logrus//:go_default_library", - "@org_uber_go_automaxprocs//:go_default_library", + "//shared/maxprocs:go_default_library", ], ) diff --git a/beacon-chain/gateway/server/main.go b/beacon-chain/gateway/server/main.go index b35d17dd5f..944d89855f 100644 --- a/beacon-chain/gateway/server/main.go +++ b/beacon-chain/gateway/server/main.go @@ -11,8 +11,8 @@ import ( joonix "github.com/joonix/log" "github.com/prysmaticlabs/prysm/beacon-chain/gateway" + _ "github.com/prysmaticlabs/prysm/shared/maxprocs" "github.com/sirupsen/logrus" - _ "go.uber.org/automaxprocs" ) var ( diff --git a/beacon-chain/main.go b/beacon-chain/main.go index 8165146976..b6b5f77f0c 100644 --- a/beacon-chain/main.go +++ b/beacon-chain/main.go @@ -16,12 +16,12 @@ import ( "github.com/prysmaticlabs/prysm/shared/debug" "github.com/prysmaticlabs/prysm/shared/featureconfig" "github.com/prysmaticlabs/prysm/shared/logutil" + _ "github.com/prysmaticlabs/prysm/shared/maxprocs" "github.com/prysmaticlabs/prysm/shared/version" "github.com/sirupsen/logrus" "github.com/urfave/cli/v2" "github.com/urfave/cli/v2/altsrc" prefixed "github.com/x-cray/logrus-prefixed-formatter" - _ "go.uber.org/automaxprocs" ) var appFlags = []cli.Flag{ diff --git a/deps.bzl b/deps.bzl index db886acfde..6dbdcbeddf 100644 --- a/deps.bzl +++ b/deps.bzl @@ -2885,6 +2885,11 @@ def prysm_deps(): importpath = "go.uber.org/automaxprocs", sum = "h1:II28aZoGdaglS5vVNnspf28lnZpXScxtIozx1lAjdb0=", version = "v1.3.0", + build_directives = [ + # Do not use this library directly. + # Rather, load maxprocs from github.com/prysmaticlabs/shared/maxprocs. + "gazelle:go_visibility @prysm//shared/maxprocs:__pkg__", + ], ) go_repository( name = "com_github_prysmaticlabs_go_ssz", diff --git a/shared/maxprocs/BUILD.bazel b/shared/maxprocs/BUILD.bazel new file mode 100644 index 0000000000..0c35feab8d --- /dev/null +++ b/shared/maxprocs/BUILD.bazel @@ -0,0 +1,9 @@ +load("@prysm//tools/go:def.bzl", "go_library") + +go_library( + name = "go_default_library", + srcs = ["maxprocs.go"], + importpath = "github.com/prysmaticlabs/prysm/shared/maxprocs", + visibility = ["//visibility:public"], + deps = ["@org_uber_go_automaxprocs//maxprocs:go_default_library"], +) diff --git a/shared/maxprocs/maxprocs.go b/shared/maxprocs/maxprocs.go new file mode 100644 index 0000000000..34e5b678e9 --- /dev/null +++ b/shared/maxprocs/maxprocs.go @@ -0,0 +1,16 @@ +// Package maxprocs automatically sets GOMAXPROCS to match the Linux +// container CPU quota, if any. This will not override the environment +// variable of GOMAXPROCS. +package maxprocs + +import ( + "go.uber.org/automaxprocs/maxprocs" +) + +// Initialize Uber maxprocs. +func init() { + _, err := maxprocs.Set() + if err != nil { + panic(err) + } +} diff --git a/tools/bootnode/BUILD.bazel b/tools/bootnode/BUILD.bazel index f6e9f71240..0d7b90669f 100644 --- a/tools/bootnode/BUILD.bazel +++ b/tools/bootnode/BUILD.bazel @@ -14,6 +14,7 @@ go_library( "//proto/beacon/p2p/v1:go_default_library", "//shared/iputils:go_default_library", "//shared/logutil:go_default_library", + "//shared/maxprocs:go_default_library", "//shared/params:go_default_library", "//shared/runutil:go_default_library", "//shared/version:go_default_library", @@ -28,7 +29,6 @@ go_library( "@com_github_prometheus_client_golang//prometheus/promauto:go_default_library", "@com_github_prysmaticlabs_go_bitfield//:go_default_library", "@com_github_sirupsen_logrus//:go_default_library", - "@org_uber_go_automaxprocs//:go_default_library", ], ) @@ -67,7 +67,7 @@ go_image( "@com_github_prysmaticlabs_go_bitfield//:go_default_library", "@com_github_prysmaticlabs_go_ssz//:go_default_library", "@com_github_sirupsen_logrus//:go_default_library", - "@org_uber_go_automaxprocs//:go_default_library", + "//shared/maxprocs:go_default_library", ], ) @@ -99,10 +99,10 @@ go_test( flaky = True, deps = [ "//shared/iputils:go_default_library", + "//shared/maxprocs:go_default_library", "@com_github_btcsuite_btcd//btcec:go_default_library", "@com_github_ethereum_go_ethereum//p2p/discover:go_default_library", "@com_github_ethereum_go_ethereum//p2p/enode:go_default_library", "@com_github_libp2p_go_libp2p_core//crypto:go_default_library", - "@org_uber_go_automaxprocs//:go_default_library", ], ) diff --git a/tools/bootnode/bootnode.go b/tools/bootnode/bootnode.go index a374e0b1fd..11c1816da2 100644 --- a/tools/bootnode/bootnode.go +++ b/tools/bootnode/bootnode.go @@ -36,11 +36,11 @@ import ( pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "github.com/prysmaticlabs/prysm/shared/iputils" "github.com/prysmaticlabs/prysm/shared/logutil" + _ "github.com/prysmaticlabs/prysm/shared/maxprocs" "github.com/prysmaticlabs/prysm/shared/params" "github.com/prysmaticlabs/prysm/shared/runutil" "github.com/prysmaticlabs/prysm/shared/version" "github.com/sirupsen/logrus" - _ "go.uber.org/automaxprocs" ) var ( diff --git a/tools/bootnode/bootnode_test.go b/tools/bootnode/bootnode_test.go index 0be91852a8..2ecbcf1a87 100644 --- a/tools/bootnode/bootnode_test.go +++ b/tools/bootnode/bootnode_test.go @@ -12,7 +12,7 @@ import ( "github.com/ethereum/go-ethereum/p2p/enode" "github.com/libp2p/go-libp2p-core/crypto" "github.com/prysmaticlabs/prysm/shared/iputils" - _ "go.uber.org/automaxprocs" + _ "github.com/prysmaticlabs/prysm/shared/maxprocs" ) func TestBootnode_OK(t *testing.T) { diff --git a/tools/cluster-pk-manager/client/BUILD.bazel b/tools/cluster-pk-manager/client/BUILD.bazel index a2e2f02c9a..75601979a8 100644 --- a/tools/cluster-pk-manager/client/BUILD.bazel +++ b/tools/cluster-pk-manager/client/BUILD.bazel @@ -11,9 +11,9 @@ go_library( visibility = ["//visibility:private"], deps = [ "//proto/cluster:go_default_library", + "//shared/maxprocs:go_default_library", "@com_github_bazelbuild_buildtools//file:go_default_library", "@org_golang_google_grpc//:go_default_library", - "@org_uber_go_automaxprocs//:go_default_library", ], ) @@ -41,7 +41,7 @@ go_image( "//shared/params:go_default_library", "@com_github_bazelbuild_buildtools//file:go_default_library", "@org_golang_google_grpc//:go_default_library", - "@org_uber_go_automaxprocs//:go_default_library", + "//shared/maxprocs:go_default_library", ], ) diff --git a/tools/cluster-pk-manager/client/main.go b/tools/cluster-pk-manager/client/main.go index 34d875a6db..98be811f96 100644 --- a/tools/cluster-pk-manager/client/main.go +++ b/tools/cluster-pk-manager/client/main.go @@ -8,7 +8,7 @@ import ( "github.com/bazelbuild/buildtools/file" pb "github.com/prysmaticlabs/prysm/proto/cluster" - _ "go.uber.org/automaxprocs" + _ "github.com/prysmaticlabs/prysm/shared/maxprocs" "google.golang.org/grpc" ) diff --git a/tools/cluster-pk-manager/server/BUILD.bazel b/tools/cluster-pk-manager/server/BUILD.bazel index a7306a0c2e..85eef9acfa 100644 --- a/tools/cluster-pk-manager/server/BUILD.bazel +++ b/tools/cluster-pk-manager/server/BUILD.bazel @@ -24,6 +24,7 @@ go_library( "//shared/bytesutil:go_default_library", "//shared/depositutil:go_default_library", "//shared/keystore:go_default_library", + "//shared/maxprocs:go_default_library", "//shared/params:go_default_library", "//shared/prometheus:go_default_library", "@com_github_ethereum_go_ethereum//:go_default_library", @@ -46,7 +47,6 @@ go_library( "@io_k8s_client_go//rest:go_default_library", "@io_opencensus_go//plugin/ocgrpc:go_default_library", "@org_golang_google_grpc//:go_default_library", - "@org_uber_go_automaxprocs//:go_default_library", ], ) @@ -113,7 +113,7 @@ go_image( "@io_k8s_client_go//rest:go_default_library", "@io_opencensus_go//plugin/ocgrpc:go_default_library", "@org_golang_google_grpc//:go_default_library", - "@org_uber_go_automaxprocs//:go_default_library", + "//shared/maxprocs:go_default_library", ], ) diff --git a/tools/cluster-pk-manager/server/main.go b/tools/cluster-pk-manager/server/main.go index cc6e285f97..3b1656d931 100644 --- a/tools/cluster-pk-manager/server/main.go +++ b/tools/cluster-pk-manager/server/main.go @@ -6,9 +6,9 @@ import ( "net" pb "github.com/prysmaticlabs/prysm/proto/cluster" + _ "github.com/prysmaticlabs/prysm/shared/maxprocs" "github.com/prysmaticlabs/prysm/shared/prometheus" "github.com/sirupsen/logrus" - _ "go.uber.org/automaxprocs" "google.golang.org/grpc" ) diff --git a/tools/contract-addr/BUILD.bazel b/tools/contract-addr/BUILD.bazel index 47f015094e..7bbd69521e 100644 --- a/tools/contract-addr/BUILD.bazel +++ b/tools/contract-addr/BUILD.bazel @@ -9,7 +9,7 @@ go_library( srcs = ["main.go"], importpath = "github.com/prysmaticlabs/prysm/tools/contract-addr", visibility = ["//visibility:private"], - deps = ["@org_uber_go_automaxprocs//:go_default_library"], + deps = ["//shared/maxprocs:go_default_library"], ) go_binary( @@ -29,7 +29,7 @@ go_image( race = "off", tags = ["manual"], visibility = ["//visibility:private"], - deps = ["@org_uber_go_automaxprocs//:go_default_library"], + deps = ["//shared/maxprocs:go_default_library"], ) container_bundle( diff --git a/tools/contract-addr/main.go b/tools/contract-addr/main.go index 5679779678..15ddc50adb 100644 --- a/tools/contract-addr/main.go +++ b/tools/contract-addr/main.go @@ -12,7 +12,7 @@ import ( "log" "net/http" - _ "go.uber.org/automaxprocs" + _ "github.com/prysmaticlabs/prysm/shared/maxprocs" ) var address = flag.String("address-path", "", "The file path to the plain text file with the contract address") diff --git a/tools/enr-calculator/BUILD.bazel b/tools/enr-calculator/BUILD.bazel index cf7f6cf973..f2464998ac 100644 --- a/tools/enr-calculator/BUILD.bazel +++ b/tools/enr-calculator/BUILD.bazel @@ -10,12 +10,12 @@ go_library( importpath = "github.com/prysmaticlabs/prysm/tools/enr-calculator", visibility = ["//visibility:private"], deps = [ + "//shared/maxprocs:go_default_library", "@com_github_btcsuite_btcd//btcec:go_default_library", "@com_github_ethereum_go_ethereum//p2p/enode:go_default_library", "@com_github_ethereum_go_ethereum//p2p/enr:go_default_library", "@com_github_libp2p_go_libp2p_core//crypto:go_default_library", "@com_github_sirupsen_logrus//:go_default_library", - "@org_uber_go_automaxprocs//:go_default_library", ], ) @@ -42,7 +42,7 @@ go_image( "@com_github_ethereum_go_ethereum//p2p/enr:go_default_library", "@com_github_libp2p_go_libp2p_core//crypto:go_default_library", "@com_github_sirupsen_logrus//:go_default_library", - "@org_uber_go_automaxprocs//:go_default_library", + "//shared/maxprocs:go_default_library", ], ) diff --git a/tools/enr-calculator/main.go b/tools/enr-calculator/main.go index bb853eaa25..b63a4facf1 100644 --- a/tools/enr-calculator/main.go +++ b/tools/enr-calculator/main.go @@ -13,8 +13,8 @@ import ( "github.com/ethereum/go-ethereum/p2p/enode" "github.com/ethereum/go-ethereum/p2p/enr" "github.com/libp2p/go-libp2p-core/crypto" + _ "github.com/prysmaticlabs/prysm/shared/maxprocs" log "github.com/sirupsen/logrus" - _ "go.uber.org/automaxprocs" ) var ( diff --git a/tools/eth1exporter/BUILD.bazel b/tools/eth1exporter/BUILD.bazel index d130afb402..d4b5882632 100644 --- a/tools/eth1exporter/BUILD.bazel +++ b/tools/eth1exporter/BUILD.bazel @@ -10,11 +10,11 @@ go_library( importpath = "github.com/prysmaticlabs/prysm/tools/eth1exporter", visibility = ["//visibility:private"], deps = [ + "//shared/maxprocs:go_default_library", "@com_github_ethereum_go_ethereum//common:go_default_library", "@com_github_ethereum_go_ethereum//ethclient:go_default_library", "@com_github_ethereum_go_ethereum//params:go_default_library", "@com_github_sirupsen_logrus//:go_default_library", - "@org_uber_go_automaxprocs//:go_default_library", ], ) @@ -40,7 +40,7 @@ go_image( "@com_github_ethereum_go_ethereum//ethclient:go_default_library", "@com_github_ethereum_go_ethereum//params:go_default_library", "@com_github_sirupsen_logrus//:go_default_library", - "@org_uber_go_automaxprocs//:go_default_library", + "//shared/maxprocs:go_default_library", ], ) diff --git a/tools/eth1exporter/main.go b/tools/eth1exporter/main.go index d7a10e3a8d..d5f762b28b 100644 --- a/tools/eth1exporter/main.go +++ b/tools/eth1exporter/main.go @@ -17,8 +17,8 @@ import ( "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/ethclient" "github.com/ethereum/go-ethereum/params" + _ "github.com/prysmaticlabs/prysm/shared/maxprocs" "github.com/sirupsen/logrus" - _ "go.uber.org/automaxprocs" ) var ( diff --git a/tools/faucet/BUILD.bazel b/tools/faucet/BUILD.bazel index 83325c4c94..778beeaae2 100644 --- a/tools/faucet/BUILD.bazel +++ b/tools/faucet/BUILD.bazel @@ -14,6 +14,7 @@ SRCS = [ DEPS = [ "//proto/faucet:faucet_go_proto", "//shared/roughtime:go_default_library", + "//shared/maxprocs:go_default_library", "@org_golang_google_grpc//:go_default_library", "@org_golang_google_grpc//peer:go_default_library", "@org_golang_google_grpc//metadata:go_default_library", @@ -24,7 +25,6 @@ DEPS = [ "@com_github_ethereum_go_ethereum//params:go_default_library", "@com_github_ethereum_go_ethereum//crypto:go_default_library", "@com_github_ethereum_go_ethereum//core/types:go_default_library", - "@org_uber_go_automaxprocs//:go_default_library", ] go_library( diff --git a/tools/faucet/main.go b/tools/faucet/main.go index 5c0211890f..8baaad1bab 100644 --- a/tools/faucet/main.go +++ b/tools/faucet/main.go @@ -7,7 +7,7 @@ import ( "github.com/prestonvanloon/go-recaptcha" faucetpb "github.com/prysmaticlabs/prysm/proto/faucet" - _ "go.uber.org/automaxprocs" + _ "github.com/prysmaticlabs/prysm/shared/maxprocs" "google.golang.org/grpc" "google.golang.org/grpc/reflection" ) diff --git a/tools/relaynode/BUILD.bazel b/tools/relaynode/BUILD.bazel index e800d03545..814660215c 100644 --- a/tools/relaynode/BUILD.bazel +++ b/tools/relaynode/BUILD.bazel @@ -10,13 +10,13 @@ go_library( importpath = "github.com/prysmaticlabs/prysm/tools/relaynode", visibility = ["//visibility:private"], deps = [ + "//shared/maxprocs:go_default_library", "//shared/version:go_default_library", "@com_github_ipfs_go_log//:go_default_library", "@com_github_libp2p_go_libp2p//:go_default_library", "@com_github_libp2p_go_libp2p_circuit//:go_default_library", "@com_github_libp2p_go_libp2p_crypto//:go_default_library", "@com_github_multiformats_go_multiaddr//:go_default_library", - "@org_uber_go_automaxprocs//:go_default_library", ], ) @@ -38,7 +38,7 @@ go_image( "@com_github_libp2p_go_libp2p_circuit//:go_default_library", "@com_github_libp2p_go_libp2p_crypto//:go_default_library", "@com_github_multiformats_go_multiaddr//:go_default_library", - "@org_uber_go_automaxprocs//:go_default_library", + "//shared/maxprocs:go_default_library", ], ) diff --git a/tools/relaynode/relaynode.go b/tools/relaynode/relaynode.go index 2f3a9cd3b5..d9f03fc6d2 100644 --- a/tools/relaynode/relaynode.go +++ b/tools/relaynode/relaynode.go @@ -18,8 +18,8 @@ import ( circuit "github.com/libp2p/go-libp2p-circuit" crypto "github.com/libp2p/go-libp2p-crypto" "github.com/multiformats/go-multiaddr" + _ "github.com/prysmaticlabs/prysm/shared/maxprocs" "github.com/prysmaticlabs/prysm/shared/version" - _ "go.uber.org/automaxprocs" ) var ( diff --git a/validator/BUILD.bazel b/validator/BUILD.bazel index 75eb5ef998..aed333489c 100644 --- a/validator/BUILD.bazel +++ b/validator/BUILD.bazel @@ -19,6 +19,7 @@ go_library( "//shared/debug:go_default_library", "//shared/featureconfig:go_default_library", "//shared/logutil:go_default_library", + "//shared/maxprocs:go_default_library", "//shared/params:go_default_library", "//shared/version:go_default_library", "//validator/accounts/v1:go_default_library", @@ -33,7 +34,6 @@ go_library( "@com_github_urfave_cli_v2//altsrc:go_default_library", "@com_github_x_cray_logrus_prefixed_formatter//:go_default_library", "@org_golang_google_grpc//:go_default_library", - "@org_uber_go_automaxprocs//:go_default_library", ], ) @@ -75,7 +75,7 @@ go_image( "@com_github_urfave_cli_v2//altsrc:go_default_library", "@com_github_x_cray_logrus_prefixed_formatter//:go_default_library", "@org_golang_google_grpc//:go_default_library", - "@org_uber_go_automaxprocs//:go_default_library", + "//shared/maxprocs:go_default_library", ], ) diff --git a/validator/main.go b/validator/main.go index ed40e08416..97aaebb793 100644 --- a/validator/main.go +++ b/validator/main.go @@ -19,6 +19,7 @@ import ( "github.com/prysmaticlabs/prysm/shared/debug" "github.com/prysmaticlabs/prysm/shared/featureconfig" "github.com/prysmaticlabs/prysm/shared/logutil" + _ "github.com/prysmaticlabs/prysm/shared/maxprocs" "github.com/prysmaticlabs/prysm/shared/params" "github.com/prysmaticlabs/prysm/shared/version" v1 "github.com/prysmaticlabs/prysm/validator/accounts/v1" @@ -30,7 +31,6 @@ import ( "github.com/urfave/cli/v2" "github.com/urfave/cli/v2/altsrc" prefixed "github.com/x-cray/logrus-prefixed-formatter" - _ "go.uber.org/automaxprocs" "google.golang.org/grpc" )