diff --git a/backend/eventd/eventd.go b/backend/eventd/eventd.go index ca6d759721..1110ef167f 100644 --- a/backend/eventd/eventd.go +++ b/backend/eventd/eventd.go @@ -537,3 +537,8 @@ func (e *Eventd) Err() <-chan error { func (e *Eventd) Name() string { return "eventd" } + +// Workers returns the number of configured worker goroutines. +func (e *Eventd) Workers() int { + return e.workerCount +} diff --git a/backend/eventd/eventd_test.go b/backend/eventd/eventd_test.go index a844178c16..0d4b4344e2 100644 --- a/backend/eventd/eventd_test.go +++ b/backend/eventd/eventd_test.go @@ -483,3 +483,16 @@ func entityNotFound(s *storetest.Store, namespace, name string) { func entityLookupError(s *storetest.Store, namespace, name string) { entityError(s, namespace, name, errors.New("some error")) } + +func TestWorkerCount(t *testing.T) { + // TODO(eric): this is tech debt, better to pass in a config with this + // property and test after New(). Unfortunately, New() requires a working + // etcd client and would be too heavy for this test. + const workers = 10 + daemon := Eventd{ + workerCount: workers, + } + if got, want := daemon.Workers(), workers; got != want { + t.Fatalf("bad workers: got %d, want %d", got, want) + } +}