Skip to content

Commit f8bfb87

Browse files
authored
Remove worker hardware utilization code (#1400)
* Remove worker hardware utilization code
1 parent 82d54a7 commit f8bfb87

File tree

7 files changed

+1
-111
lines changed

7 files changed

+1
-111
lines changed

go.mod

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ require (
1313
github.com/opentracing/opentracing-go v1.1.0
1414
github.com/pborman/uuid v0.0.0-20160209185913-a97ce2ca70fa
1515
github.com/robfig/cron v1.2.0
16-
github.com/shirou/gopsutil v3.21.11+incompatible
1716
github.com/stretchr/testify v1.9.0
1817
github.com/uber-go/tally v3.3.15+incompatible
1918
github.com/uber/cadence-idl v0.0.0-20240723221048-0482c040f91d
@@ -35,7 +34,6 @@ require (
3534
github.com/beorn7/perks v1.0.1 // indirect
3635
github.com/cespare/xxhash/v2 v2.1.1 // indirect
3736
github.com/davecgh/go-spew v1.1.1 // indirect
38-
github.com/go-ole/go-ole v1.2.6 // indirect
3937
github.com/gogo/googleapis v1.3.2 // indirect
4038
github.com/gogo/status v1.1.0 // indirect
4139
github.com/golang/protobuf v1.5.3 // indirect
@@ -47,11 +45,8 @@ require (
4745
github.com/prometheus/common v0.26.0 // indirect
4846
github.com/prometheus/procfs v0.6.0 // indirect
4947
github.com/stretchr/objx v0.5.2 // indirect
50-
github.com/tklauser/go-sysconf v0.3.11 // indirect
51-
github.com/tklauser/numcpus v0.6.0 // indirect
5248
github.com/uber-go/mapdecode v1.0.0 // indirect
5349
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
54-
github.com/yusufpapurcu/wmi v1.2.3 // indirect
5550
go.uber.org/dig v1.10.0 // indirect
5651
go.uber.org/fx v1.13.1 // indirect
5752
go.uber.org/net/metrics v1.3.0 // indirect

go.sum

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,6 @@ github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vb
4949
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
5050
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
5151
github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
52-
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
53-
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
5452
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
5553
github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
5654
github.com/gogo/googleapis v1.3.2 h1:kX1es4djPJrsDhY7aZKJy7aZasdcB5oSOEphMjSB53c=
@@ -180,8 +178,6 @@ github.com/robfig/cron v1.2.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfm
180178
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
181179
github.com/samuel/go-thrift v0.0.0-20191111193933-5165175b40af h1:EiWVfh8mr40yFZEui2oF0d45KgH48PkB2H0Z0GANvSI=
182180
github.com/samuel/go-thrift v0.0.0-20191111193933-5165175b40af/go.mod h1:Vrkh1pnjV9Bl8c3P9zH0/D4NlOHWP5d4/hF4YTULaec=
183-
github.com/shirou/gopsutil v3.21.11+incompatible h1:+1+c1VGhc88SSonWP6foOcLhvnKlUeu/erjjvaPEYiI=
184-
github.com/shirou/gopsutil v3.21.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
185181
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
186182
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
187183
github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
@@ -199,10 +195,6 @@ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81P
199195
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
200196
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
201197
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
202-
github.com/tklauser/go-sysconf v0.3.11 h1:89WgdJhk5SNwJfu+GKyYveZ4IaJ7xAkecBo+KdJV0CM=
203-
github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI=
204-
github.com/tklauser/numcpus v0.6.0 h1:kebhY2Qt+3U6RNK7UqpYNA+tJ23IBEGKkB7JQBfDYms=
205-
github.com/tklauser/numcpus v0.6.0/go.mod h1:FEZLMke0lhOUG6w2JadTzp0a+Nl8PF/GFkQ5UVIcaL4=
206198
github.com/uber-common/bark v1.2.1/go.mod h1:g0ZuPcD7XiExKHynr93Q742G/sbrdVQkghrqLGOoFuY=
207199
github.com/uber-go/mapdecode v1.0.0 h1:euUEFM9KnuCa1OBixz1xM+FIXmpixyay5DLymceOVrU=
208200
github.com/uber-go/mapdecode v1.0.0/go.mod h1:b5nP15FwXTgpjTjeA9A2uTHXV5UJCl4arwKpP0FP1Hw=
@@ -223,8 +215,6 @@ github.com/uber/tchannel-go v1.32.1/go.mod h1:yT2EUp6YperZ0Tb/jwDX9gVEeiSG74r/L3
223215
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
224216
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
225217
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
226-
github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFiw=
227-
github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
228218
go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
229219
go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
230220
go.uber.org/atomic v1.5.1/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
@@ -317,7 +307,6 @@ golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5h
317307
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
318308
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
319309
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
320-
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
321310
golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
322311
golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
323312
golang.org/x/sys v0.0.0-20200117145432-59e60aa80a0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -332,7 +321,6 @@ golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7w
332321
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
333322
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
334323
golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
335-
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
336324
golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
337325
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
338326
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=

internal/common/metrics/constants.go

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -110,13 +110,6 @@ const (
110110
ReplaySkippedCounter = CadenceMetricsPrefix + "replay-skipped"
111111
ReplayLatency = CadenceMetricsPrefix + "replay-latency"
112112

113-
NumCPUCores = CadenceMetricsPrefix + "num-cpu-cores"
114-
CPUPercentage = CadenceMetricsPrefix + "cpu-percentage"
115-
TotalMemory = CadenceMetricsPrefix + "total-memory"
116-
MemoryUsedHeap = CadenceMetricsPrefix + "memory-used-heap"
117-
MemoryUsedStack = CadenceMetricsPrefix + "memory-used-stack"
118-
NumGoRoutines = CadenceMetricsPrefix + "num-go-routines"
119-
120113
EstimatedHistorySize = CadenceMetricsPrefix + "estimated-history-size"
121114
ServerSideHistorySize = CadenceMetricsPrefix + "server-side-history-size"
122115
ConcurrentTaskQuota = CadenceMetricsPrefix + "concurrent-task-quota"

internal/internal_worker.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ const (
8383
testTagsContextKey = "cadence-testTags"
8484
clientVersionTag = "cadence_client_version"
8585
clientGauge = "client_version_metric"
86-
clientHostTag = "cadence_client_host"
8786
)
8887

8988
type (
@@ -330,9 +329,6 @@ func newWorkflowTaskWorkerInternal(
330329
// 3) the result pushed to laTunnel will be send as task to workflow worker to process.
331330
worker.taskQueueCh = laTunnel.resultCh
332331

333-
worker.options.host = params.Host
334-
localActivityWorker.options.host = params.Host
335-
336332
return &workflowWorker{
337333
executionParameters: params,
338334
workflowService: service,
@@ -507,7 +503,6 @@ func newActivityTaskWorker(
507503
workerParams.MetricsScope,
508504
sessionTokenBucket,
509505
)
510-
base.options.host = workerParams.Host
511506

512507
return &activityWorker{
513508
executionParameters: workerParams,

internal/internal_worker_base.go

Lines changed: 1 addition & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,12 @@ import (
2828
"errors"
2929
"fmt"
3030
"os"
31-
"runtime"
3231
"sync"
3332
"syscall"
3433
"time"
3534

3635
"go.uber.org/cadence/internal/common/debug"
3736

38-
"github.com/shirou/gopsutil/cpu"
3937
"github.com/uber-go/tally"
4038
"go.uber.org/zap"
4139
"go.uber.org/zap/zapcore"
@@ -50,7 +48,6 @@ import (
5048
const (
5149
retryPollOperationInitialInterval = 20 * time.Millisecond
5250
retryPollOperationMaxInterval = 10 * time.Second
53-
hardwareMetricsCollectInterval = 30 * time.Second
5451
)
5552

5653
var (
@@ -59,8 +56,6 @@ var (
5956

6057
var errShutdown = errors.New("worker shutting down")
6158

62-
var collectHardwareUsageOnce sync.Once
63-
6459
type (
6560
// resultHandler that returns result
6661
resultHandler func(result []byte, err error)
@@ -220,11 +215,6 @@ func (bw *baseWorker) Start() {
220215
bw.shutdownWG.Add(1)
221216
go bw.runTaskDispatcher()
222217

223-
// We want the emit function run once per host instead of run once per worker
224-
// since the emit function is host level metric.
225-
bw.shutdownWG.Add(1)
226-
go bw.emitHardwareUsage()
227-
228218
bw.isWorkerStarted = true
229219
traceLog(func() {
230220
bw.logger.Info("Started Worker",
@@ -400,7 +390,7 @@ func (bw *baseWorker) Run() {
400390
bw.Stop()
401391
}
402392

403-
// Shutdown is a blocking call and cleans up all the resources associated with worker.
393+
// Stop is a blocking call and cleans up all the resources associated with worker.
404394
func (bw *baseWorker) Stop() {
405395
if !bw.isWorkerStarted {
406396
return
@@ -423,53 +413,3 @@ func (bw *baseWorker) Stop() {
423413
}
424414
return
425415
}
426-
427-
func (bw *baseWorker) emitHardwareUsage() {
428-
defer func() {
429-
if p := recover(); p != nil {
430-
bw.metricsScope.Counter(metrics.WorkerPanicCounter).Inc(1)
431-
topLine := fmt.Sprintf("base worker for %s [panic]:", bw.options.workerType)
432-
st := getStackTraceRaw(topLine, 7, 0)
433-
bw.logger.Error("Unhandled panic in hardware emitting.",
434-
zap.String(tagPanicError, fmt.Sprintf("%v", p)),
435-
zap.String(tagPanicStack, st))
436-
}
437-
}()
438-
defer bw.shutdownWG.Done()
439-
collectHardwareUsageOnce.Do(
440-
func() {
441-
ticker := time.NewTicker(hardwareMetricsCollectInterval)
442-
for {
443-
select {
444-
case <-bw.shutdownCh:
445-
ticker.Stop()
446-
return
447-
case <-ticker.C:
448-
host := bw.options.host
449-
scope := bw.metricsScope.Tagged(map[string]string{clientHostTag: host})
450-
451-
cpuPercent, err := cpu.Percent(0, false)
452-
if err != nil {
453-
bw.logger.Warn("Failed to get cpu percent", zap.Error(err))
454-
return
455-
}
456-
cpuCores, err := cpu.Counts(false)
457-
if err != nil {
458-
bw.logger.Warn("Failed to get number of cpu cores", zap.Error(err))
459-
return
460-
}
461-
scope.Gauge(metrics.NumCPUCores).Update(float64(cpuCores))
462-
scope.Gauge(metrics.CPUPercentage).Update(cpuPercent[0])
463-
464-
var memStats runtime.MemStats
465-
runtime.ReadMemStats(&memStats)
466-
467-
scope.Gauge(metrics.NumGoRoutines).Update(float64(runtime.NumGoroutine()))
468-
scope.Gauge(metrics.TotalMemory).Update(float64(memStats.Sys))
469-
scope.Gauge(metrics.MemoryUsedHeap).Update(float64(memStats.HeapInuse))
470-
scope.Gauge(metrics.MemoryUsedStack).Update(float64(memStats.StackInuse))
471-
}
472-
}
473-
})
474-
475-
}

internal/internal_worker_test.go

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -239,16 +239,6 @@ func (s *internalWorkerTestSuite) TestCreateWorker_WithStrictNonDeterminism() {
239239
worker.Stop()
240240
}
241241

242-
func (s *internalWorkerTestSuite) TestCreateWorker_WithHost() {
243-
worker := createWorkerWithHost(s.T(), s.service)
244-
err := worker.Start()
245-
require.NoError(s.T(), err)
246-
time.Sleep(time.Millisecond * 200)
247-
assert.Equal(s.T(), "test_host", worker.activityWorker.worker.options.host)
248-
assert.Equal(s.T(), "test_host", worker.workflowWorker.worker.options.host)
249-
worker.Stop()
250-
}
251-
252242
func (s *internalWorkerTestSuite) TestCreateWorkerRun() {
253243
// Create service endpoint
254244
mockCtrl := gomock.NewController(s.T())
@@ -446,13 +436,6 @@ func createWorkerWithStrictNonDeterminismDisabled(
446436
return createWorkerWithThrottle(t, service, 0, WorkerOptions{WorkerBugPorts: WorkerBugPorts{DisableStrictNonDeterminismCheck: true}})
447437
}
448438

449-
func createWorkerWithHost(
450-
t *testing.T,
451-
service *workflowservicetest.MockClient,
452-
) *aggregatedWorker {
453-
return createWorkerWithThrottle(t, service, 0, WorkerOptions{Host: "test_host"})
454-
}
455-
456439
func (s *internalWorkerTestSuite) testCompleteActivityHelper(opt *ClientOptions) {
457440
t := s.T()
458441
mockService := s.service

internal/worker.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -266,10 +266,6 @@ type (
266266
// default: No provider
267267
Authorization auth.AuthorizationProvider
268268

269-
// Optional: Host is just string on the machine running the client
270-
// default: empty string
271-
Host string
272-
273269
// Optional: See WorkerBugPorts for more details
274270
//
275271
// Deprecated: All bugports are always deprecated and may be removed at any time.

0 commit comments

Comments
 (0)