diff --git a/CHANGELOG.md b/CHANGELOG.md index c5258faee4..8b751d8c1e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ the release. ## Unreleased +* [checkout] Add app.payment.service.address span attribute to chargeCard for improved payment routing observability + ([#3203](https://github.com/open-telemetry/opentelemetry-demo/pull/3203)) * [product-catalog] Enrich DB spans and metrics with `server.address` and `server.port` attributes extracted from the DSN via `otelsql.AttributesFromDSN` ([#3154](https://github.com/open-telemetry/opentelemetry-demo/pull/3154)) diff --git a/src/checkout/main.go b/src/checkout/main.go index f014400c89..602cecad6d 100644 --- a/src/checkout/main.go +++ b/src/checkout/main.go @@ -543,11 +543,14 @@ func (cs *checkout) convertCurrency(ctx context.Context, from *pb.Money, toCurre func (cs *checkout) chargeCard(ctx context.Context, amount *pb.Money, paymentInfo *pb.CreditCardInfo) (string, error) { paymentService := cs.paymentSvcClient + paymentAddr := cs.paymentSvcAddr if cs.isFeatureFlagEnabled(ctx, "paymentUnreachable") { - badAddress := "badAddress:50051" - c := mustCreateClient(badAddress) + paymentAddr = "badAddress:50051" + c := mustCreateClient(paymentAddr) paymentService = pb.NewPaymentServiceClient(c) } + span := trace.SpanFromContext(ctx) + span.SetAttributes(attribute.String("app.payment.service.address", paymentAddr)) paymentResp, err := paymentService.Charge(ctx, &pb.ChargeRequest{ Amount: amount,