-
Notifications
You must be signed in to change notification settings - Fork 179
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
HTTP span name for unknown methods #268
Comments
If the unknown methods are valid, then each unknown method makes an interesting group of span names but if the unknown methods are invalid (spam), then grouping them all together makes an interesting group of span names |
users and backends can still group using I just imagine spans looking like |
The span name's primary purpose is grouping. Low cardinality is more important than human-readability, that is what the spec says. A cardinality explosion in the span name is just as bad as in a metric attribute. See open-telemetry/opentelemetry-specification#557 Backends can (and probably should) generate a different display name based on attributes. |
discussed at semconv SIG:
So closing this one. |
@lmolkova I think it could still make sense to define a special case for "_OTHER" like "HTTP _OTHER", but OTOH, the spans were previously named "HTTP <method>", which was removed in open-telemetry/opentelemetry-specification#3165 (personally, I thought the variant with "HTTP <method>" was better) (EDIT: Markdown parser ate my angle brackets) |
I kind of like the span name EDIT: I guess unknown http methods could still have a route, in which case A nice this about this naming is that those spans will be more identifiable in a U/X as HTTP, as opposed to only saying |
But that is something a back-end can easily do as a UI-only tweak. For ex Jaeger does this already - The URL is shown together with the span name. I think other back-ends also do something similar OR can do if they want. All to say I'm unsure if changing the spec to convey such UI feature makes sense. |
No. It would need to determine that the span name comes from HTTP conventions. These can be mixed with other conventions and often HTTP is not the primary one. So this is not easy even though it may be doable, at least heuristically.
This is not (only) an UI feature. It also avoids potential name collisions where unrelated spans would then group together (when using span name). Especially _OTHER was IIRC agreed upon as a standard enum value, so it may turn up in other conventions as well. |
http.request.method
or http.request.method_original
updated #270 to use HTTP, PTAL |
HTTP spec currently requires to use
http.request.method
:semantic-conventions/docs/http/http-spans.md
Lines 69 to 70 in 098db1c
For custom/unsupported methods, it means
_OTHER
, however user experience could arguably be better if span names represented the original method such asget
orACL
, which are captured inhttp.request.method_original
.The argument for
_OTHER
is low cardinality, but it is not a clear requirement - open-telemetry/opentelemetry-specification#3534.Span name is a part of stability guarantees
The text was updated successfully, but these errors were encountered: