Component
Instrumentation: otelgrpc
Problem Statement
RPC client spans generated for gRPC calls that fail due to an invalid hostname are missing the server.address and server.port attributes.
These attributes are:
- Essential for effective troubleshooting
- Defined as “Conditionally Required If available” in the OpenTelemetry Semantic Conventions (reference)
See problem on the OTel Demo when activating the paymentUnreachable feature flag ( http://localhost:8080/feature ) as preported by @bpschmitt in open-telemetry/opentelemetry-demo#3203:
Proposed Solution
Add server.address and server.port for failed RPC client spans.
The source code seems to relate to the error handling part of:
|
if rs.Error != nil { |
|
s, _ = status.FromError(rs.Error) |
|
rpcStatusAttr = semconv.RPCResponseStatusCode(canonicalString(s.Code())) |
Alternatives
No response
Prior Art
No response
Additional Context
No response
Component
Instrumentation: otelgrpc
Problem Statement
RPC client spans generated for gRPC calls that fail due to an invalid hostname are missing the
server.addressandserver.portattributes.These attributes are:
See problem on the OTel Demo when activating the
paymentUnreachablefeature flag ( http://localhost:8080/feature ) as preported by @bpschmitt in open-telemetry/opentelemetry-demo#3203:Proposed Solution
Add
server.addressandserver.portfor failed RPC client spans.The source code seems to relate to the error handling part of:
opentelemetry-go-contrib/instrumentation/google.golang.org/grpc/otelgrpc/stats_handler.go
Lines 355 to 357 in 468d883
Alternatives
No response
Prior Art
No response
Additional Context
No response