Skip to content

Commit 8c13ed7

Browse files
authored
Reduce dynamic config client log level to INFO to address noisy debug logging (#8354)
## What changed? Added functionality to override the dynamic config client log level to INFO for all services in the functional tests. ### Why? The dynamic config client introduced in #7052 logs "No such key in dynamic config, using default" at DEBUG level every time a dynamic config key is checked without an override. This creates extremely noisy logs during testing as it fires for many dynamic config checks, making it difficult to see relevant test output and debug information. This approach: - Only affects the dynamic config client logging, not the main service logs - Only applicable to tests not production code ## How did you test it? - [x] built - [x] run locally and tested manually - [x] covered by existing tests - [ ] added new unit test(s) - [ ] added new functional test(s) --------- Co-authored-by: alex stanfield <[email protected]>
1 parent 28425ea commit 8c13ed7

File tree

1 file changed

+28
-1
lines changed

1 file changed

+28
-1
lines changed

tests/testcore/onebox.go

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ type (
116116
chasmRegistry *chasm.Registry
117117
grpcClientInterceptor *grpcinject.Interceptor
118118
spanExporters map[telemetry.SpanExporterType]sdktrace.SpanExporter
119+
dynamicConfigLogger log.Logger
119120
}
120121

121122
// FrontendConfig is the config for the frontend service
@@ -209,7 +210,12 @@ func newTemporal(t *testing.T, params *TemporalParams) *TemporalImpl {
209210
captureMetricsHandler: params.CaptureMetricsHandler,
210211
dcClient: dynamicconfig.NewMemoryClient(),
211212
// If this doesn't build, make sure you're building with tags 'test_dep':
212-
testHooks: testhooks.NewTestHooksImpl(),
213+
testHooks: testhooks.NewTestHooksImpl(),
214+
// We are overriding the dynamic config logger with a new one that uses the INFO level
215+
// because there are some debug logs that are too verbose for testing.
216+
// ex: "No such key in dynamic config, using default"
217+
// this can be removed if logging from this package becomes less verbose
218+
dynamicConfigLogger: log.NewZapLogger(log.BuildZapLogger(log.Config{Level: "info"})),
213219
serviceFxOptions: params.ServiceFxOptions,
214220
taskCategoryRegistry: params.TaskCategoryRegistry,
215221
chasmRegistry: params.ChasmRegistry,
@@ -229,6 +235,7 @@ func newTemporal(t *testing.T, params *TemporalParams) *TemporalImpl {
229235
}
230236

231237
func (c *TemporalImpl) Start() error {
238+
232239
// create temporal-system namespace, this must be created before starting
233240
// the services - so directly use the metadataManager to create this
234241
if err := c.createSystemNamespace(); err != nil {
@@ -371,6 +378,11 @@ func (c *TemporalImpl) startFrontend() {
371378
fx.Provide(func() persistenceClient.AbstractDataStoreFactory { return c.abstractDataStoreFactory }),
372379
fx.Provide(func() visibility.VisibilityStoreFactory { return c.visibilityStoreFactory }),
373380
fx.Provide(func() dynamicconfig.Client { return c.dcClient }),
381+
fx.Decorate(func(client dynamicconfig.Client, lc fx.Lifecycle) *dynamicconfig.Collection {
382+
col := dynamicconfig.NewCollection(client, c.dynamicConfigLogger)
383+
lc.Append(fx.StartStopHook(col.Start, col.Stop))
384+
return col
385+
}),
374386
fx.Decorate(func() testhooks.TestHooks { return c.testHooks }),
375387
fx.Provide(resource.DefaultSnTaggedLoggerProvider),
376388
fx.Provide(func() esclient.Client { return c.esClient }),
@@ -446,6 +458,11 @@ func (c *TemporalImpl) startHistory() {
446458
fx.Provide(func() persistenceClient.AbstractDataStoreFactory { return c.abstractDataStoreFactory }),
447459
fx.Provide(func() visibility.VisibilityStoreFactory { return c.visibilityStoreFactory }),
448460
fx.Provide(func() dynamicconfig.Client { return c.dcClient }),
461+
fx.Decorate(func(client dynamicconfig.Client, lc fx.Lifecycle) *dynamicconfig.Collection {
462+
col := dynamicconfig.NewCollection(client, c.dynamicConfigLogger)
463+
lc.Append(fx.StartStopHook(col.Start, col.Stop))
464+
return col
465+
}),
449466
fx.Decorate(func() testhooks.TestHooks { return c.testHooks }),
450467
fx.Provide(resource.DefaultSnTaggedLoggerProvider),
451468
fx.Provide(func() esclient.Client { return c.esClient }),
@@ -507,6 +524,11 @@ func (c *TemporalImpl) startMatching() {
507524
fx.Provide(func() persistenceClient.AbstractDataStoreFactory { return c.abstractDataStoreFactory }),
508525
fx.Provide(func() visibility.VisibilityStoreFactory { return c.visibilityStoreFactory }),
509526
fx.Provide(func() dynamicconfig.Client { return c.dcClient }),
527+
fx.Decorate(func(client dynamicconfig.Client, lc fx.Lifecycle) *dynamicconfig.Collection {
528+
col := dynamicconfig.NewCollection(client, c.dynamicConfigLogger)
529+
lc.Append(fx.StartStopHook(col.Start, col.Stop))
530+
return col
531+
}),
510532
fx.Decorate(func() testhooks.TestHooks { return c.testHooks }),
511533
fx.Provide(func() esclient.Client { return c.esClient }),
512534
fx.Provide(c.GetTLSConfigProvider),
@@ -574,6 +596,11 @@ func (c *TemporalImpl) startWorker() {
574596
fx.Provide(func() persistenceClient.AbstractDataStoreFactory { return c.abstractDataStoreFactory }),
575597
fx.Provide(func() visibility.VisibilityStoreFactory { return c.visibilityStoreFactory }),
576598
fx.Provide(func() dynamicconfig.Client { return c.dcClient }),
599+
fx.Decorate(func(client dynamicconfig.Client, lc fx.Lifecycle) *dynamicconfig.Collection {
600+
col := dynamicconfig.NewCollection(client, c.dynamicConfigLogger)
601+
lc.Append(fx.StartStopHook(col.Start, col.Stop))
602+
return col
603+
}),
577604
fx.Decorate(func() testhooks.TestHooks { return c.testHooks }),
578605
fx.Provide(resource.DefaultSnTaggedLoggerProvider),
579606
fx.Provide(func() esclient.Client { return c.esClient }),

0 commit comments

Comments
 (0)