Skip to content

Commit

Permalink
Merge pull request moby#4496 from thaJeztah/forward_port_otel_resource
Browse files Browse the repository at this point in the history
[forward port to master] tracing: allow the `Resource` to be set externally
  • Loading branch information
crazy-max authored Dec 19, 2023
2 parents bbb6aac + a3a38ac commit 957cb50
Showing 1 changed file with 17 additions and 9 deletions.
26 changes: 17 additions & 9 deletions util/tracing/detect/detect.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ type detector struct {
var ServiceName string
var Recorder *TraceRecorder

var Resource *resource.Resource

var detectors map[string]detector
var once sync.Once
var tp trace.TracerProvider
Expand Down Expand Up @@ -112,13 +114,16 @@ func detect() error {
return err
}

res, err := resource.Detect(context.Background(), serviceNameDetector{})
if err != nil {
return err
}
res, err = resource.Merge(resource.Default(), res)
if err != nil {
return err
if Resource == nil {
res, err := resource.Detect(context.Background(), serviceNameDetector{})
if err != nil {
return err
}
res, err = resource.Merge(resource.Default(), res)
if err != nil {
return err
}
Resource = res
}

// enable log with traceID when valid exporter
Expand All @@ -131,7 +136,10 @@ func detect() error {
Recorder.flush = sp.ForceFlush
}

sdktp := sdktrace.NewTracerProvider(sdktrace.WithSpanProcessor(sp), sdktrace.WithResource(res))
sdktp := sdktrace.NewTracerProvider(
sdktrace.WithSpanProcessor(sp),
sdktrace.WithResource(Resource),
)
closers = append(closers, sdktp.Shutdown)

exporter.SpanExporter = texp
Expand All @@ -156,7 +164,7 @@ func detect() error {

if len(readers) > 0 {
opts := make([]sdkmetric.Option, 0, len(readers)+1)
opts = append(opts, sdkmetric.WithResource(res))
opts = append(opts, sdkmetric.WithResource(Resource))
for _, r := range readers {
opts = append(opts, sdkmetric.WithReader(r))
}
Expand Down

0 comments on commit 957cb50

Please sign in to comment.