diff --git a/detectors/gcp/detector.go b/detectors/gcp/detector.go index 50b2f2736a1..a0b903012fc 100644 --- a/detectors/gcp/detector.go +++ b/detectors/gcp/detector.go @@ -23,7 +23,7 @@ import ( "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/sdk/resource" - semconv "go.opentelemetry.io/otel/semconv/v1.17.0" + semconv "go.opentelemetry.io/otel/semconv/v1.21.0" ) // NewDetector returns a resource detector which detects resource attributes on: @@ -87,6 +87,8 @@ func (d *detector) Detect(ctx context.Context) (*resource.Resource, error) { b.add(semconv.HostTypeKey, d.detector.GCEHostType) b.add(semconv.HostIDKey, d.detector.GCEHostID) b.add(semconv.HostNameKey, d.detector.GCEHostName) + b.add(semconv.GCPGceInstanceNameKey, d.detector.GCEInstanceHostname) + b.add(semconv.GCPGceInstanceHostnameKey, d.detector.GCEInstanceName) default: // We don't support this platform yet, so just return with what we have } diff --git a/detectors/gcp/detector_test.go b/detectors/gcp/detector_test.go index 9085d2322af..c0bffe54df9 100644 --- a/detectors/gcp/detector_test.go +++ b/detectors/gcp/detector_test.go @@ -238,6 +238,8 @@ type fakeGCPDetector struct { gceHostType string gceHostID string gceHostName string + gcpGceInstanceName string + gcpGceInstanceHostname string } func (f *fakeGCPDetector) ProjectID() (string, error) { @@ -379,3 +381,17 @@ func (f *fakeGCPDetector) GCEHostName() (string, error) { } return f.gceHostName, nil } + +func (f *fakeGCPDetector) GCEInstanceName() (string, error) { + if f.err != nil { + return "", f.err + } + return f.gcpGceInstanceName, nil +} + +func (f *fakeGCPDetector) GCEInstanceHostname() (string, error) { + if f.err != nil { + return "", f.err + } + return f.gcpGceInstanceHostname, nil +} diff --git a/detectors/gcp/go.mod b/detectors/gcp/go.mod index 40a2c10bb5f..695e37f9981 100644 --- a/detectors/gcp/go.mod +++ b/detectors/gcp/go.mod @@ -7,7 +7,7 @@ require ( github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.18.0 github.com/google/go-cmp v0.5.9 github.com/stretchr/testify v1.8.4 - go.opentelemetry.io/otel v1.16.0 + go.opentelemetry.io/otel v1.17.0 go.opentelemetry.io/otel/sdk v1.16.0 ) @@ -17,8 +17,8 @@ require ( github.com/go-logr/logr v1.2.4 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - go.opentelemetry.io/otel/metric v1.16.0 // indirect - go.opentelemetry.io/otel/trace v1.16.0 // indirect + go.opentelemetry.io/otel/metric v1.17.0 // indirect + go.opentelemetry.io/otel/trace v1.17.0 // indirect golang.org/x/sys v0.8.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/detectors/gcp/go.sum b/detectors/gcp/go.sum index 06c4e1e2e18..6fa14443fe6 100644 --- a/detectors/gcp/go.sum +++ b/detectors/gcp/go.sum @@ -17,14 +17,14 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -go.opentelemetry.io/otel v1.16.0 h1:Z7GVAX/UkAXPKsy94IU+i6thsQS4nb7LviLpnaNeW8s= -go.opentelemetry.io/otel v1.16.0/go.mod h1:vl0h9NUa1D5s1nv3A5vZOYWn8av4K8Ml6JDeHrT/bx4= -go.opentelemetry.io/otel/metric v1.16.0 h1:RbrpwVG1Hfv85LgnZ7+txXioPDoh6EdbZHo26Q3hqOo= -go.opentelemetry.io/otel/metric v1.16.0/go.mod h1:QE47cpOmkwipPiefDwo2wDzwJrlfxxNYodqc4xnGCo4= +go.opentelemetry.io/otel v1.17.0 h1:MW+phZ6WZ5/uk2nd93ANk/6yJ+dVrvNWUjGhnnFU5jM= +go.opentelemetry.io/otel v1.17.0/go.mod h1:I2vmBGtFaODIVMBSTPVDlJSzBDNf93k60E6Ft0nyjo0= +go.opentelemetry.io/otel/metric v1.17.0 h1:iG6LGVz5Gh+IuO0jmgvpTB6YVrCGngi8QGm+pMd8Pdc= +go.opentelemetry.io/otel/metric v1.17.0/go.mod h1:h4skoxdZI17AxwITdmdZjjYJQH5nzijUUjm+wtPph5o= go.opentelemetry.io/otel/sdk v1.16.0 h1:Z1Ok1YsijYL0CSJpHt4cS3wDDh7p572grzNrBMiMWgE= go.opentelemetry.io/otel/sdk v1.16.0/go.mod h1:tMsIuKXuuIWPBAOrH+eHtvhTL+SntFtXF9QD68aP6p4= -go.opentelemetry.io/otel/trace v1.16.0 h1:8JRpaObFoW0pxuVPapkgH8UhHQj+bJW8jJsCZEu5MQs= -go.opentelemetry.io/otel/trace v1.16.0/go.mod h1:Yt9vYq1SdNz3xdjZZK7wcXv1qv2pwLkqr2QVwea0ef0= +go.opentelemetry.io/otel/trace v1.17.0 h1:/SWhSRHmDPOImIAetP1QAeMnZYiQXrTy4fMMYOdSKWQ= +go.opentelemetry.io/otel/trace v1.17.0/go.mod h1:I/4vKTgFclIsXRVucpH25X0mpFSczM7aHeaz0ZBLWjY= golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= diff --git a/detectors/gcp/types.go b/detectors/gcp/types.go index 0b0b8ccd2fb..f2ab4b6f250 100644 --- a/detectors/gcp/types.go +++ b/detectors/gcp/types.go @@ -37,4 +37,6 @@ type gcpDetector interface { GCEHostType() (string, error) GCEHostID() (string, error) GCEHostName() (string, error) + GCEInstanceHostname() (string, error) + GCEInstanceName() (string, error) }