Skip to content

Commit

Permalink
Merge pull request prometheus#218 from hairyhenderson/tracing-newfrom…
Browse files Browse the repository at this point in the history
…env-with-options

tracing: add options to NewFromEnv
  • Loading branch information
bboreham committed Jul 22, 2021
2 parents c1f4131 + 5524091 commit e649eff
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions tracing/tracing.go
Expand Up @@ -14,9 +14,13 @@ var (
)

// installJaeger registers Jaeger as the OpenTracing implementation.
func installJaeger(serviceName string, cfg *jaegercfg.Configuration) (io.Closer, error) {
func installJaeger(serviceName string, cfg *jaegercfg.Configuration, options ...jaegercfg.Option) (io.Closer, error) {
metricsFactory := jaegerprom.New()
closer, err := cfg.InitGlobalTracer(serviceName, jaegercfg.Metrics(metricsFactory))

// put the metricsFactory earlier so provided options can override it
opts := append([]jaegercfg.Option{jaegercfg.Metrics(metricsFactory)}, options...)

closer, err := cfg.InitGlobalTracer(serviceName, opts...)
if err != nil {
return nil, errors.Wrap(err, "could not initialize jaeger tracer")
}
Expand All @@ -29,7 +33,7 @@ func installJaeger(serviceName string, cfg *jaegercfg.Configuration) (io.Closer,
// Tracing will be enabled if one (or more) of the following environment variables is used to configure trace reporting:
// - JAEGER_AGENT_HOST
// - JAEGER_SAMPLER_MANAGER_HOST_PORT
func NewFromEnv(serviceName string) (io.Closer, error) {
func NewFromEnv(serviceName string, options ...jaegercfg.Option) (io.Closer, error) {
cfg, err := jaegercfg.FromEnv()
if err != nil {
return nil, errors.Wrap(err, "could not load jaeger tracer configuration")
Expand All @@ -39,5 +43,5 @@ func NewFromEnv(serviceName string) (io.Closer, error) {
return nil, ErrBlankTraceConfiguration
}

return installJaeger(serviceName, cfg)
return installJaeger(serviceName, cfg, options...)
}

0 comments on commit e649eff

Please sign in to comment.