opentelemetry-specification icon indicating copy to clipboard operation
opentelemetry-specification copied to clipboard

http.flavor should become net.app.protocol.name and net.app.protocol.version

Open lmolkova opened this issue 2 years ago • 3 comments

With #2602 net.app.protocol.name and net.app.protocol.version would be a standard way to describe protocol and http.flavor can be removed.

http.flavor has the following list of well-known values. If one of them applies, then the respective value MUST be used, otherwise a custom value MAY be used.

Value Description
1.0 HTTP/1.0
1.1 HTTP/1.1
2.0 HTTP/2
3.0 HTTP/3
SPDY SPDY protocol.
QUIC QUIC protocol.

Proposal:

  • remove http.flavor
  • net.app.protocol.name is recommended if it's not HTTP. SPDY and QUIC should go here
  • net.app.protocol.version to contain 1.1, 2.0, etc..

lmolkova avatar Jun 21 '22 15:06 lmolkova

What do I do if I want to encode the HTTP version used in a grpc call? Probably just a HTTP child span under the grpc span?

Oberon00 avatar Jun 23 '22 16:06 Oberon00

@Oberon00 Not sure if I interpret the RPC conventions correctly, but it seems to always recommend the creation of the HTTP span, either as child of an RPC span or as "carrier" of RPC attributes.

HTTP calls can generally be represented using just HTTP spans. If they address a particular remote service and method known to the caller, i.e., when it is a remote procedure call transported over HTTP, the rpc.* attributes might be added additionally on that span, or in a separate RPC span that is a parent of the transporting HTTP call.

pyohannes avatar Jun 23 '22 17:06 pyohannes

Discussed during triage meeting. Item has been deferred. @lmolkova please discuss at the next Instrumentation SIG, and get support on this issue. Depending on responses from SIG, we can decide on whether to move forward.

rbailey7210 avatar Jun 24 '22 15:06 rbailey7210