@@ -412,6 +412,17 @@ func (p *Provider) Float64F(key string, fallback float64) (val float64) {
412412 return p .Float64 (key )
413413}
414414
415+ func (p * Provider ) Float64PtrF (key string , fallback float64 ) (val * float64 ) {
416+ p .l .RLock ()
417+ defer p .l .RUnlock ()
418+
419+ if ! p .Koanf .Exists (key ) {
420+ return & fallback
421+ }
422+ out := p .Float64 (key )
423+ return & out
424+ }
425+
415426func (p * Provider ) DurationF (key string , fallback time.Duration ) (val time.Duration ) {
416427 p .l .RLock ()
417428 defer p .l .RUnlock ()
@@ -471,21 +482,21 @@ func (p *Provider) TracingConfig(serviceName string) *otelx.Config {
471482 Jaeger : otelx.JaegerConfig {
472483 Sampling : otelx.JaegerSampling {
473484 ServerURL : p .String ("tracing.providers.jaeger.sampling.server_url" ),
474- TraceIdRatio : p .Float64F ("tracing.providers.jaeger.sampling.trace_id_ratio" , 1 ),
485+ TraceIdRatio : p .Float64PtrF ("tracing.providers.jaeger.sampling.trace_id_ratio" , 1.0 ),
475486 },
476487 LocalAgentAddress : p .String ("tracing.providers.jaeger.local_agent_address" ),
477488 },
478489 Zipkin : otelx.ZipkinConfig {
479490 ServerURL : p .String ("tracing.providers.zipkin.server_url" ),
480491 Sampling : otelx.ZipkinSampling {
481- SamplingRatio : p .Float64 ("tracing.providers.zipkin.sampling.sampling_ratio" ),
492+ SamplingRatio : p .Float64PtrF ("tracing.providers.zipkin.sampling.sampling_ratio" , 0.0 ),
482493 },
483494 },
484495 OTLP : otelx.OTLPConfig {
485496 ServerURL : p .String ("tracing.providers.otlp.server_url" ),
486497 Insecure : p .Bool ("tracing.providers.otlp.insecure" ),
487498 Sampling : otelx.OTLPSampling {
488- SamplingRatio : p .Float64F ("tracing.providers.otlp.sampling.sampling_ratio" , 1 ),
499+ SamplingRatio : p .Float64PtrF ("tracing.providers.otlp.sampling.sampling_ratio" , 1.0 ),
489500 },
490501 AuthorizationHeader : p .String ("tracing.providers.otlp.authorization_header" ),
491502 },
0 commit comments