summaryrefslogtreecommitdiff
path: root/vendor/go.opentelemetry.io/otel/sdk/resource/resource.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/go.opentelemetry.io/otel/sdk/resource/resource.go')
-rw-r--r--vendor/go.opentelemetry.io/otel/sdk/resource/resource.go14
1 files changed, 12 insertions, 2 deletions
diff --git a/vendor/go.opentelemetry.io/otel/sdk/resource/resource.go b/vendor/go.opentelemetry.io/otel/sdk/resource/resource.go
index 49958a9a6..c425ff05d 100644
--- a/vendor/go.opentelemetry.io/otel/sdk/resource/resource.go
+++ b/vendor/go.opentelemetry.io/otel/sdk/resource/resource.go
@@ -17,6 +17,7 @@ package resource // import "go.opentelemetry.io/otel/sdk/resource"
import (
"context"
"errors"
+ "fmt"
"sync"
"go.opentelemetry.io/otel"
@@ -50,8 +51,17 @@ func New(ctx context.Context, opts ...Option) (*Resource, error) {
cfg = opt.apply(cfg)
}
- r := &Resource{schemaURL: cfg.schemaURL}
- return r, detect(ctx, r, cfg.detectors)
+ resource, err := Detect(ctx, cfg.detectors...)
+
+ var err2 error
+ resource, err2 = Merge(resource, &Resource{schemaURL: cfg.schemaURL})
+ if err == nil {
+ err = err2
+ } else if err2 != nil {
+ err = fmt.Errorf("detecting resources: %s", []string{err.Error(), err2.Error()})
+ }
+
+ return resource, err
}
// NewWithAttributes creates a resource from attrs and associates the resource with a