-
Notifications
You must be signed in to change notification settings - Fork 893
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
Is extra complexity of the net.app.protocol.name and net.app.protocol.version attributes worth it? #3215
Comments
There has been some related discussion in this issue: #2548, especially this comment. Compatibility with ECS was not considered back then. I think the important part is to be able to distinguish between application and transport layer protocols. It seems ECS does this via |
we have
In that case, I'm curious what others think of:
|
The intent was not to break existing conventions, so this wasn't considered.
If it is decided to align with ECS and many other |
ECS has e.g. http.version, which this net.protocol.* was meant to replace I think. https://www.elastic.co/guide/en/ecs/current/ecs-http.html#field-http-version Currently proposed #3178 would move us a bit further away from ECS |
@Oberon00 do you have any objection to renaming
|
I don't remember why |
net.transport: TL;DR: let's not use it for HTTP semconv v1. I could not find any place in java or python instrumentation where it's set to anything but TCP_IP except a few places in python where it's incorrectly(?) set to UNIX domain socket. even with current At the same time, we do capture internet-level information in I assume HTTP/1.1 and /2 are good enough heuristics to say the transport protocol is TCP and HTTP/3 is good enough to assume it's UDP. I believe it's a common case that app-level protocol implies a certain transport protocol (e.g. AMQP and MQTT work on top of TCP/IP) and populating both makes sense in rare cases. So in scope of HTTP spec stabilization, I suggest removing a single mention of
net.app.protocol Application protocol seems to be the most interesting one for any application-level instrumentation and having a convenient, easy-to-understand and a shorter name would be great. |
Based on @lmolkova's #3215 (comment) ## Changes Removes mention of `net.transport` from http semantic conventions. --------- Co-authored-by: Reiley Yang <[email protected]>
Based on @lmolkova's open-telemetry/opentelemetry-specification#3215 (comment) ## Changes Removes mention of `net.transport` from http semantic conventions. --------- Co-authored-by: Reiley Yang <[email protected]>
Based on @lmolkova's open-telemetry/opentelemetry-specification#3215 (comment) ## Changes Removes mention of `net.transport` from http semantic conventions. --------- Co-authored-by: Reiley Yang <[email protected]>
…telemetry#3244) Based on @lmolkova's open-telemetry#3215 (comment) ## Changes Removes mention of `net.transport` from http semantic conventions. --------- Co-authored-by: Reiley Yang <[email protected]>
I find the recent-ish
net.app.protocol.name
andnet.app.protocol.version
attributes confusing from the perspective of someone not deeply ingrained in 7-layer osi networking model.I just want to make sure the extra complexity of these attributes is worth it, over the simpler
net.protocol.name
andnet.protocol.version
.FWIW, ECS has
network.protocol
, which is defined as "Application Layer protocol":The text was updated successfully, but these errors were encountered: