Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change peer.service to service.origin.name and service.target.name? #1123

Open
trask opened this issue Apr 25, 2023 · 6 comments
Open

Change peer.service to service.origin.name and service.target.name? #1123

trask opened this issue Apr 25, 2023 · 6 comments

Comments

@trask
Copy link
Member

trask commented Apr 25, 2023

@AlexanderWert to confirm that ECS doesn't have an equivalent to peer.service.

ECS service.* fields can be self-nested under service.origin.* and service.target.*, which has a similar purpose as the peer.service in OTel. Similar to our previous discussions on client / server and source / destination, here service.origin.* and service.target.* make the relationship more explicit, without the need to know the context of the field.

_Originally posted by @AlexanderWert in #1012

@Oberon00
Copy link
Member

Oberon00 commented Apr 25, 2023

service.peer is AFAIK only explicitly configured. By extending this to service.origin/target, you'd need to make the configuration more complex (and e.g. if you call an auth service, is it then the target (of your call) or the origin (of the data)?)

Why introduce another concept "origin" vs "target" when we already have "source" and "destination" in ECS (and had "host" and "peer" in OTel)

@trask
Copy link
Member Author

trask commented Apr 26, 2023

maybe (client|server|source|destination).service.name? so that it's clearly grouped with the other (client|server|source|destination).* attributes in a given context

@Oberon00
Copy link
Member

Oberon00 commented Apr 27, 2023

I think that would already be an improvement, but OTOH then it is neither ECS-aligned, nor compatible with old conventions, and I also still don't see the value in the distinction for this attribute?

@trask
Copy link
Member Author

trask commented Apr 27, 2023

I think the value is similar to the value for client.*/server.*/source.*/destination.*, which is that they are more generally useful on logs where the concept of SpanKind is not inherent in the data model.

@Oberon00
Copy link
Member

We could add an attribute like otel.span_kind on any telemetry item supporting attributes (name inspired by https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/common/mapping-to-non-otlp.md).

@tigrannajaryan tigrannajaryan transferred this issue from open-telemetry/opentelemetry-specification Jun 5, 2024
@lmolkova
Copy link
Contributor

lmolkova commented Jun 5, 2024

having service.origin.name and sevice.target.name would allow to:

  • use them on the same telemetry item (e.g. a log record that apply to both services)
  • having 1 attribute instead of 2 (span_kind would mean someone needs to set 2 attributes to identify which side peer.service applies to)
  • easier to query and more obvious when looking at the telemetry on what it means

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants