From ed349adcb26ca48741ac1fe8ad2c074df5bb907f Mon Sep 17 00:00:00 2001 From: Matthew Emes Date: Mon, 22 Aug 2022 17:53:11 -0700 Subject: [PATCH] OTEL: use updated GCP detectors Prefer to use the updated GCP detector for OTEL resource generation, and change the order that the resources are stacked. --- v2/cmd/pi/otel.go | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/v2/cmd/pi/otel.go b/v2/cmd/pi/otel.go index 45421ddd..a44ad63a 100644 --- a/v2/cmd/pi/otel.go +++ b/v2/cmd/pi/otel.go @@ -8,7 +8,7 @@ import ( "github.com/go-logr/logr" "github.com/google/uuid" "github.com/spf13/viper" - gcpdetectors "go.opentelemetry.io/contrib/detectors/gcp" + "go.opentelemetry.io/contrib/detectors/gcp" runtimeinstrumentation "go.opentelemetry.io/contrib/instrumentation/runtime" "go.opentelemetry.io/otel" "go.opentelemetry.io/otel/exporters/otlp/otlpmetric" @@ -77,13 +77,8 @@ func newTelemetryResource(ctx context.Context, name string) (*resource.Resource, return nil, fmt.Errorf("failed to generate UUID for telemetry resource: %w", err) } res, err := resource.New(ctx, + resource.WithDetectors(gcp.NewDetector()), resource.WithSchemaURL(semconv.SchemaURL), - resource.WithAttributes( - semconv.ServiceNamespaceKey.String(OTELNamespace), - semconv.ServiceNameKey.String(name), - semconv.ServiceVersionKey.String(version), - semconv.ServiceInstanceIDKey.String(id.String()), - ), resource.WithTelemetrySDK(), resource.WithHost(), resource.WithOS(), @@ -96,11 +91,11 @@ func newTelemetryResource(ctx context.Context, name string) (*resource.Resource, resource.WithProcessRuntimeName(), resource.WithProcessRuntimeVersion(), resource.WithProcessRuntimeDescription(), - // These detectors place last to override the base service attributes with specifiers from GCP - resource.WithDetectors( - &gcpdetectors.GCE{}, - &gcpdetectors.GKE{}, - gcpdetectors.NewCloudRun(), + resource.WithAttributes( + semconv.ServiceNamespaceKey.String(OTELNamespace), + semconv.ServiceNameKey.String(name), + semconv.ServiceVersionKey.String(version), + semconv.ServiceInstanceIDKey.String(id.String()), ), ) if err != nil {