From 22f5a76829ee70ab69c5fbc8ec024338dc120a66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20Franke?= Date: Thu, 27 Jul 2023 11:25:32 +0200 Subject: [PATCH] Add default config to service. Also modify `GetServiceTraceProvider` to keep working if nil or nil interface is passed. --- ocis-pkg/tracing/tracing.go | 9 ++++++++- .../eventhistory/pkg/config/defaults/defaultconfig.go | 11 +++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/ocis-pkg/tracing/tracing.go b/ocis-pkg/tracing/tracing.go index 96dd798a0..b4de72947 100644 --- a/ocis-pkg/tracing/tracing.go +++ b/ocis-pkg/tracing/tracing.go @@ -4,6 +4,7 @@ import ( "context" "fmt" "net/url" + "reflect" "strings" "time" @@ -29,7 +30,13 @@ var Propagator = propagation.NewCompositeTextMapPropagator( // GetServiceTraceProvider returns a configured open-telemetry trace provider. func GetServiceTraceProvider(c ConfigConverter, serviceName string) (trace.TracerProvider, error) { - cfg := c.Convert() + var cfg Config + if c == nil || reflect.ValueOf(c).IsNil() { + cfg = Config{Enabled: false} + } else { + cfg = c.Convert() + } + if cfg.Enabled { return GetTraceProvider(cfg.Endpoint, cfg.Collector, serviceName, cfg.Type) } diff --git a/services/eventhistory/pkg/config/defaults/defaultconfig.go b/services/eventhistory/pkg/config/defaults/defaultconfig.go index 697ec9316..141817568 100644 --- a/services/eventhistory/pkg/config/defaults/defaultconfig.go +++ b/services/eventhistory/pkg/config/defaults/defaultconfig.go @@ -59,6 +59,17 @@ func EnsureDefaults(cfg *config.Config) { cfg.Log = &config.Log{} } + if cfg.Tracing == nil && cfg.Commons != nil && cfg.Commons.Tracing != nil { + cfg.Tracing = &config.Tracing{ + Enabled: cfg.Commons.Tracing.Enabled, + Type: cfg.Commons.Tracing.Type, + Endpoint: cfg.Commons.Tracing.Endpoint, + Collector: cfg.Commons.Tracing.Collector, + } + } else if cfg.Tracing == nil { + cfg.Tracing = &config.Tracing{} + } + if cfg.GRPCClientTLS == nil && cfg.Commons != nil { cfg.GRPCClientTLS = structs.CopyOrZeroValue(cfg.Commons.GRPCClientTLS) }