Skip to content

Commit

Permalink
added guard for nil option around setting the provider (#1107)
Browse files Browse the repository at this point in the history
Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
  • Loading branch information
erichsueh3 and Aneurysm9 committed Sep 21, 2021
1 parent eb0df76 commit f6c2b15
Show file tree
Hide file tree
Showing 16 changed files with 57 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,9 @@ func (fn optionFunc) apply(c *config) {
// If none is specified, the global provider is used.
func WithTracerProvider(provider trace.TracerProvider) Option {
return optionFunc(func(cfg *config) {
cfg.TracerProvider = provider
if provider != nil {
cfg.TracerProvider = provider
}
})
}

Expand Down
8 changes: 6 additions & 2 deletions instrumentation/github.com/astaxie/beego/otelbeego/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,15 +52,19 @@ func (o optionFunc) apply(c *config) {
// If none is specified, the global provider is used.
func WithTracerProvider(provider trace.TracerProvider) Option {
return optionFunc(func(cfg *config) {
cfg.tracerProvider = provider
if provider != nil {
cfg.tracerProvider = provider
}
})
}

// WithMeterProvider specifies a meter provider to use for creating a meter.
// If none is specified, the global provider is used.
func WithMeterProvider(provider metric.MeterProvider) Option {
return optionFunc(func(cfg *config) {
cfg.meterProvider = provider
if provider != nil {
cfg.meterProvider = provider
}
})
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ func (o optionFunc) apply(c *config) {
// If none is specified, the global TracerProvider is used.
func WithTracerProvider(provider trace.TracerProvider) Option {
return optionFunc(func(cfg *config) {
cfg.TracerProvider = provider
if provider != nil {
cfg.TracerProvider = provider
}
})
}
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ func (o optionFunc) apply(c *config) {
// If none is specified, the global provider is used.
func WithTracerProvider(provider oteltrace.TracerProvider) Option {
return optionFunc(func(cfg *config) {
cfg.tracerProvider = provider
if provider != nil {
cfg.tracerProvider = provider
}
})
}
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@ func WithPropagators(propagators propagation.TextMapPropagator) Option {
// If none is specified, the global provider is used.
func WithTracerProvider(provider oteltrace.TracerProvider) Option {
return optionFunc(func(cfg *config) {
cfg.TracerProvider = provider
if provider != nil {
cfg.TracerProvider = provider
}
})
}
4 changes: 3 additions & 1 deletion instrumentation/github.com/gin-gonic/gin/otelgin/option.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ func WithPropagators(propagators propagation.TextMapPropagator) Option {
// If none is specified, the global provider is used.
func WithTracerProvider(provider oteltrace.TracerProvider) Option {
return optionFunc(func(cfg *config) {
cfg.TracerProvider = provider
if provider != nil {
cfg.TracerProvider = provider
}
})
}
4 changes: 3 additions & 1 deletion instrumentation/github.com/go-kit/kit/otelkit/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,9 @@ func (o optionFunc) apply(c *config) {
// If none is specified, the global provider is used.
func WithTracerProvider(provider trace.TracerProvider) Option {
return optionFunc(func(o *config) {
o.TracerProvider = provider
if provider != nil {
o.TracerProvider = provider
}
})
}

Expand Down
8 changes: 6 additions & 2 deletions instrumentation/github.com/gocql/gocql/otelgocql/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,9 @@ func WithConnectObserver(observer gocql.ConnectObserver) Option {
// for creating spans. Defaults to TracerProvider()
func WithTracerProvider(provider trace.TracerProvider) Option {
return optionFunc(func(c *config) {
c.tracerProvider = provider
if provider != nil {
c.tracerProvider = provider
}
})
}

Expand All @@ -85,7 +87,9 @@ func WithTracerProvider(provider trace.TracerProvider) Option {
// Defaults to global.GetMeterProvider().
func WithMeterProvider(provider metric.MeterProvider) Option {
return optionFunc(func(c *config) {
c.meterProvider = provider
if provider != nil {
c.meterProvider = provider
}
})
}

Expand Down
4 changes: 3 additions & 1 deletion instrumentation/github.com/gorilla/mux/otelmux/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@ func WithPropagators(propagators propagation.TextMapPropagator) Option {
// If none is specified, the global provider is used.
func WithTracerProvider(provider oteltrace.TracerProvider) Option {
return optionFunc(func(cfg *config) {
cfg.TracerProvider = provider
if provider != nil {
cfg.TracerProvider = provider
}
})
}
4 changes: 3 additions & 1 deletion instrumentation/github.com/labstack/echo/otelecho/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,9 @@ func WithPropagators(propagators propagation.TextMapPropagator) Option {
// If none is specified, the global provider is used.
func WithTracerProvider(provider oteltrace.TracerProvider) Option {
return optionFunc(func(cfg *config) {
cfg.TracerProvider = provider
if provider != nil {
cfg.TracerProvider = provider
}
})
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,9 @@ func (o optionFunc) apply(c *config) {
// If none is specified, the global provider is used.
func WithTracerProvider(provider trace.TracerProvider) Option {
return optionFunc(func(cfg *config) {
cfg.TracerProvider = provider
if provider != nil {
cfg.TracerProvider = provider
}
})
}

Expand Down
4 changes: 3 additions & 1 deletion instrumentation/google.golang.org/grpc/otelgrpc/grpctrace.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,9 @@ func WithPropagators(p propagation.TextMapPropagator) Option {
type tracerProviderOption struct{ tp trace.TracerProvider }

func (o tracerProviderOption) apply(c *config) {
c.TracerProvider = o.tp
if o.tp != nil {
c.TracerProvider = o.tp
}
}

// WithTracerProvider returns an Option to use the TracerProvider when
Expand Down
4 changes: 3 additions & 1 deletion instrumentation/gopkg.in/macaron.v1/otelmacaron/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,9 @@ func WithPropagators(p propagation.TextMapPropagator) Option {
type tracerProviderOption struct{ tp trace.TracerProvider }

func (o tracerProviderOption) apply(c *config) {
c.TracerProvider = o.tp
if o.tp != nil {
c.TracerProvider = o.tp
}
}

// WithTracerProvider returns an Option to use the TracerProvider when
Expand Down
4 changes: 3 additions & 1 deletion instrumentation/host/host.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,9 @@ func WithMeterProvider(provider metric.MeterProvider) Option {
type metricProviderOption struct{ metric.MeterProvider }

func (o metricProviderOption) apply(c *config) {
c.MeterProvider = o.MeterProvider
if o.MeterProvider != nil {
c.MeterProvider = o.MeterProvider
}
}

// Attribute sets.
Expand Down
8 changes: 6 additions & 2 deletions instrumentation/net/http/otelhttp/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -83,15 +83,19 @@ func newConfig(opts ...Option) *config {
// If none is specified, the global provider is used.
func WithTracerProvider(provider trace.TracerProvider) Option {
return optionFunc(func(cfg *config) {
cfg.TracerProvider = provider
if provider != nil {
cfg.TracerProvider = provider
}
})
}

// WithMeterProvider specifies a meter provider to use for creating a meter.
// If none is specified, the global provider is used.
func WithMeterProvider(provider metric.MeterProvider) Option {
return optionFunc(func(cfg *config) {
cfg.MeterProvider = provider
if provider != nil {
cfg.MeterProvider = provider
}
})
}

Expand Down
4 changes: 3 additions & 1 deletion instrumentation/runtime/runtime.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,9 @@ func WithMeterProvider(provider metric.MeterProvider) Option {
type metricProviderOption struct{ metric.MeterProvider }

func (o metricProviderOption) apply(c *config) {
c.MeterProvider = o.MeterProvider
if o.MeterProvider != nil {
c.MeterProvider = o.MeterProvider
}
}

// newConfig computes a config from the supplied Options.
Expand Down

0 comments on commit f6c2b15

Please sign in to comment.