diff --git a/go.mod b/go.mod index 9124db72b91c97730186d10c5677f7bed6b9a4cb..ba78d62a73808d6b5cbe7deb1f0c171e842c5460 100644 --- a/go.mod +++ b/go.mod @@ -13,7 +13,7 @@ require ( github.com/gobuffalo/packr/v2 v2.8.0 github.com/golang/protobuf v1.4.2 github.com/gorilla/websocket v1.4.2 - github.com/iotaledger/hive.go v0.0.0-20200622211038-2db5f8e0532d + github.com/iotaledger/hive.go v0.0.0-20200625105326-310ea88f1337 github.com/labstack/echo v3.3.10+incompatible github.com/labstack/gommon v0.3.0 github.com/magiconair/properties v1.8.1 diff --git a/go.sum b/go.sum index 18dfb3e4f032c4802f3b77c95807d17a6194b638..de441943ed69da78be785de9a60ab4606b39fa56 100644 --- a/go.sum +++ b/go.sum @@ -231,6 +231,8 @@ github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpO github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/iotaledger/hive.go v0.0.0-20200622211038-2db5f8e0532d h1:cyxepG077Tg1wNfbhkRhXMK9WwaN4N0dDW7T8+d3oHA= github.com/iotaledger/hive.go v0.0.0-20200622211038-2db5f8e0532d/go.mod h1:42UvBc41QBsuM7z1P1fABMonTJb7kGqkzshRebClQvA= +github.com/iotaledger/hive.go v0.0.0-20200625105326-310ea88f1337 h1:F6PzAkymPcKr1vJVK3/80wiVovjkL47c9FMjUOesXGA= +github.com/iotaledger/hive.go v0.0.0-20200625105326-310ea88f1337/go.mod h1:42UvBc41QBsuM7z1P1fABMonTJb7kGqkzshRebClQvA= github.com/iotaledger/iota.go v1.0.0-beta.15 h1:HI8PqerEnO1CCIqmXHJ6zh1IaSFXU+S0qlUAEKshho8= github.com/iotaledger/iota.go v1.0.0-beta.15/go.mod h1:Rn6v5hLAn8YBaJlRu1ZQdPAgKlshJR1PTeLQaft2778= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= diff --git a/packages/binary/messagelayer/messagerequester/constants.go b/packages/binary/messagelayer/messagerequester/constants.go index 0378c9be87557be5ee4d0963219c9c01d1eafb2b..7d26d3e96bb5eaa2d23c4b413bfdac4bc47800cf 100644 --- a/packages/binary/messagelayer/messagerequester/constants.go +++ b/packages/binary/messagelayer/messagerequester/constants.go @@ -5,6 +5,6 @@ import ( ) const ( - DefaultRequestWorkerCount = 1024 - DefaultRetryInterval = 10 * time.Second + // DefaultRetryInterval defines the Default Retry Interval of the message requester. + DefaultRetryInterval = 10 * time.Second ) diff --git a/packages/binary/messagelayer/messagerequester/messagerequester.go b/packages/binary/messagelayer/messagerequester/messagerequester.go index 817a3f033df0ba45270ea08c1ff3a1948def2dd7..ce350f4bf79109cc13d4c405359aafeb4b329d23 100644 --- a/packages/binary/messagelayer/messagerequester/messagerequester.go +++ b/packages/binary/messagelayer/messagerequester/messagerequester.go @@ -1,13 +1,18 @@ package messagerequester import ( + "runtime" "sync" "time" + "github.com/iotaledger/goshimmer/packages/binary/messagelayer/message" "github.com/iotaledger/hive.go/async" "github.com/iotaledger/hive.go/events" +) - "github.com/iotaledger/goshimmer/packages/binary/messagelayer/message" +var ( + // DefaultRequestWorkerCount defines the Default Request Worker Count of the message reqeuster. + DefaultRequestWorkerCount = runtime.GOMAXPROCS(0) ) // MessageRequester takes care of requesting messages. diff --git a/packages/binary/messagelayer/tangle/tangle.go b/packages/binary/messagelayer/tangle/tangle.go index 1133c98aa6f36e9c5cc705b0806ec59c98c2964b..240935094518e00300173b0535636634ecb3cb82 100644 --- a/packages/binary/messagelayer/tangle/tangle.go +++ b/packages/binary/messagelayer/tangle/tangle.go @@ -2,6 +2,7 @@ package tangle import ( "container/list" + "runtime" "time" "github.com/iotaledger/hive.go/kvstore" @@ -65,7 +66,7 @@ func New(store kvstore.KVStore) (result *Tangle) { Events: *newEvents(), } - result.solidifierWorkerPool.Tune(1024) + result.solidifierWorkerPool.Tune(runtime.GOMAXPROCS(0)) return } diff --git a/packages/binary/messagelayer/test/data_payload_test.go b/packages/binary/messagelayer/test/data_payload_test.go index 30759328e04634f30579bc149eea4482a783f799..03d30b2782b7ce6ead30ca4295070f6c0d63e182 100644 --- a/packages/binary/messagelayer/test/data_payload_test.go +++ b/packages/binary/messagelayer/test/data_payload_test.go @@ -19,7 +19,7 @@ import ( func BenchmarkVerifyDataMessages(b *testing.B) { var pool async.WorkerPool - pool.Tune(runtime.NumCPU() * 2) + pool.Tune(runtime.GOMAXPROCS(0)) factory := messagefactory.New(mapdb.NewMapDB(), []byte(messagelayer.DBSequenceNumber), identity.GenerateLocalIdentity(), messagefactory.TipSelectorFunc(func() (message.Id, message.Id) { return message.EmptyId, message.EmptyId })) diff --git a/packages/graph/graph.go b/packages/graph/graph.go index 3233b80bef094ccbb43877b52384f045593d0d85..3e354a77a452647d2dddfaee8330ad9a131eac83 100644 --- a/packages/graph/graph.go +++ b/packages/graph/graph.go @@ -78,7 +78,7 @@ func (nl nodes) AddEdge(a, b nodeID) { // Diameter is the maximum length of a shortest path in the network func (nl nodes) Diameter() int { - cpus := runtime.NumCPU() + cpus := runtime.GOMAXPROCS(0) numNodes := len(nl) nodesPerCPU := numNodes / cpus diff --git a/plugins/analysis/client/metric_heartbeat.go b/plugins/analysis/client/metric_heartbeat.go index eb23ddadd77d12cee9230e299fdc5a10c5e16e81..38d12f4e49e17ccdc35569b53fbc927294e80bb6 100644 --- a/plugins/analysis/client/metric_heartbeat.go +++ b/plugins/analysis/client/metric_heartbeat.go @@ -37,7 +37,7 @@ func createMetricHeartbeat() *packet.MetricHeartbeat { OwnID: nodeID, OS: runtime.GOOS, Arch: runtime.GOARCH, - NumCPU: runtime.NumCPU(), + NumCPU: runtime.GOMAXPROCS(0), // TODO: replace this with only the CPU usage of the GoShimmer process. CPUUsage: func() (p float64) { percent, err := cpu.Percent(time.Second, false) diff --git a/plugins/analysis/dashboard/fpc_livefeed.go b/plugins/analysis/dashboard/fpc_livefeed.go index 00ee50a81447c4cb0aa6bb4f4c651bbda09ce56a..f99c03274c5c6503b19e5e4c254179ac2645754f 100644 --- a/plugins/analysis/dashboard/fpc_livefeed.go +++ b/plugins/analysis/dashboard/fpc_livefeed.go @@ -27,7 +27,7 @@ var ( fpcLiveFeedWorkerQueueSize = 300 fpcLiveFeedWorkerPool *workerpool.WorkerPool - fpcStoreFinalizedWorkerCount = runtime.NumCPU() + fpcStoreFinalizedWorkerCount = runtime.GOMAXPROCS(0) fpcStoreFinalizedWorkerQueueSize = 300 fpcStoreFinalizedWorkerPool *workerpool.WorkerPool diff --git a/plugins/analysis/packet/metric_heartbeat_test.go b/plugins/analysis/packet/metric_heartbeat_test.go index 2401da2a91ce57f37f094c41c460f12ba3c4d740..c32d9320f9db47d0c5dbbe1e54312bf6b4225e8b 100644 --- a/plugins/analysis/packet/metric_heartbeat_test.go +++ b/plugins/analysis/packet/metric_heartbeat_test.go @@ -19,7 +19,7 @@ func testMetricHeartbeat() *MetricHeartbeat { OwnID: nodeID[:], OS: runtime.GOOS, Arch: runtime.GOARCH, - NumCPU: runtime.NumCPU(), + NumCPU: runtime.GOMAXPROCS(0), CPUUsage: func() (p float64) { percent, err := cpu.Percent(time.Second, false) if err == nil { diff --git a/plugins/remotelog/plugin.go b/plugins/remotelog/plugin.go index 6d4e6f9ae0fa1b176b11d79b3f2cfd85cd7be630..fee332330ce1080ae9e4dfa505405c5c386ce746 100644 --- a/plugins/remotelog/plugin.go +++ b/plugins/remotelog/plugin.go @@ -82,7 +82,7 @@ func configure(plugin *node.Plugin) { sendLogMsg(task.Param(0).(logger.Level), task.Param(1).(string), task.Param(2).(string)) task.Return(nil) - }, workerpool.WorkerCount(runtime.NumCPU()), workerpool.QueueSize(1000)) + }, workerpool.WorkerCount(runtime.GOMAXPROCS(0)), workerpool.QueueSize(1000)) } func run(plugin *node.Plugin) { diff --git a/tools/integration-tests/tester/go.mod b/tools/integration-tests/tester/go.mod index 0291136f28bf3b5da02735630cbde2197d689d9b..bf7684da5c7af5a85162cf78f74871b69282e102 100644 --- a/tools/integration-tests/tester/go.mod +++ b/tools/integration-tests/tester/go.mod @@ -10,7 +10,7 @@ require ( github.com/docker/go-units v0.4.0 // indirect github.com/drand/drand v0.9.1 github.com/iotaledger/goshimmer v0.1.3 - github.com/iotaledger/hive.go v0.0.0-20200622211038-2db5f8e0532d + github.com/iotaledger/hive.go v0.0.0-20200625105326-310ea88f1337 github.com/mr-tron/base58 v1.2.0 github.com/opencontainers/go-digest v1.0.0 // indirect github.com/stretchr/testify v1.6.1 diff --git a/tools/integration-tests/tester/go.sum b/tools/integration-tests/tester/go.sum index b1ad306478bfbe76cccf6769e31639a89d4958dd..820b66d561a879a5bd8c32fb0a653877e42cb942 100644 --- a/tools/integration-tests/tester/go.sum +++ b/tools/integration-tests/tester/go.sum @@ -262,6 +262,8 @@ github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3 github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/iotaledger/hive.go v0.0.0-20200622211038-2db5f8e0532d h1:cyxepG077Tg1wNfbhkRhXMK9WwaN4N0dDW7T8+d3oHA= github.com/iotaledger/hive.go v0.0.0-20200622211038-2db5f8e0532d/go.mod h1:42UvBc41QBsuM7z1P1fABMonTJb7kGqkzshRebClQvA= +github.com/iotaledger/hive.go v0.0.0-20200625105326-310ea88f1337 h1:F6PzAkymPcKr1vJVK3/80wiVovjkL47c9FMjUOesXGA= +github.com/iotaledger/hive.go v0.0.0-20200625105326-310ea88f1337/go.mod h1:42UvBc41QBsuM7z1P1fABMonTJb7kGqkzshRebClQvA= github.com/iotaledger/iota.go v1.0.0-beta.15/go.mod h1:Rn6v5hLAn8YBaJlRu1ZQdPAgKlshJR1PTeLQaft2778= github.com/ipfs/go-cid v0.0.1/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM= github.com/ipfs/go-cid v0.0.2/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM=