elastic / elastic/apm-data

[otlp] Investigate decoration of span.destination.service.* attributes for gRPC services

Open
#304 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
12
Forks
31
Avg merge
8h 55m
Merged PRs (30d)
2

Description

This issue was detected when deploying the OpenTelemetry demo and using the Elastic's OpenTelemetry endpoint. In case the service is doing internal calls using gRPC (e.g. the checkout service), all the `span.destination.service.*` attributes are set to the value `:0`:

![image](https://github.com/elastic/apm-data/assets/33873530/8d31794a-0134-40db-879e-c6312b48ba75)

The issue is solved if the corresponding services include the `peer.service` attribute in their spans, but I reckon it would be more informative for the user to provide a different value other than `:0` if `peer.service` is not defined. For example, `unknown` or just not providing the default port value?

For HTTP services, the `span.destination.service.*` are populated accordingly, my guess is because of the library extracting the destination values from the HTTP URL instead of the peer attribute: https://github.com/elastic/apm-data/blob/main/input/otlp/traces.go#L1006

Ongoing work to add `peer.service` in the OpenTelemetry demo: https://github.com/open-telemetry/opentelemetry-demo/issues/1635

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.