feat(config): automatically enable otel if OTEL_EXPORTER_OTLP_ENDPOINT env var is set

Co-authored-by: tronghn <trong.huu.nguyen@nav.no>
This commit is contained in:
Sindre Rødseth Hansen
2025-01-27 13:38:08 +01:00
committed by Trong Huu Nguyen
parent 57f5bf951e
commit b882c31585
2 changed files with 12 additions and 1 deletions

View File

@@ -112,6 +112,7 @@ func Initialize() (*Config, error) {
resolveOpenIdProvider()
resolveUpstream()
resolveVersion()
resolveOtel()
cfg := new(Config)
if err := viper.UnmarshalExact(cfg, func(dc *mapstructure.DecoderConfig) {

View File

@@ -1,7 +1,10 @@
package config
import (
"os"
flag "github.com/spf13/pflag"
"github.com/spf13/viper"
)
type OpenTelemetry struct {
@@ -15,7 +18,14 @@ const (
)
func otelFlags() {
// TODO: automatically enable if OTEL_EXPORTER_OTLP_ENDPOINT env var is set
flag.Bool(OpenTelemetryEnabled, false, "Enable OpenTelemetry tracing.")
flag.String(OpenTelemetryServiceName, "wonderwall", "Service name to use for OpenTelemetry.")
}
func resolveOtel() {
otelEndpoint := os.Getenv("OTEL_EXPORTER_OTLP_ENDPOINT")
if otelEndpoint != "" {
logger.Infof("config: OTLP endpoint set to %q, enabling OpenTelemetry", otelEndpoint)
viper.Set(OpenTelemetryEnabled, "true")
}
}