-
Notifications
You must be signed in to change notification settings - Fork 889
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
Clarify span name criteria (resolves #557). #810
Clarify span name criteria (resolves #557). #810
Conversation
I strongly oppose the removal of "human readable" from the span name definition. This may lead to using hash-code, hexadecimals or whatnot as span name. Which I think is undesirable. I do agree with added sentence at the end:
|
Agreed, I went a bit too far here with my rewording. I hope it's better with f7e714d. |
The span name SHOULD be the most general string that identifies a | ||
(statistically) interesting _class of Spans_, | ||
rather than individual Span instances while still being human-readable. | ||
That is, "get_user" is a reasonable name, while "get_user/314159", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see a contradiction here. get_user/314159
may be a statistically interesting class of spans (the requirement above), but high-cardinality is the rationale given below.
When I first read the (statistically) above, my eyes substituted the word statically, which may be a better way to write the specification. We reject get_user/314159
because it is implied to be a variable. My favorite way to address this is the way the Metrics API does: by requiring an "instrument".
Discussed here #734 (comment).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see a contradiction. It says "the most general string". While "get_user/314159 may be a statistically interesting class of spans" it is certainly less general than get_user, which still an interesting class of of spans.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see your point. Maybe instead of "high-cardinality" you could write "too specific", i.e., something that that's opposed to the "general" quality.
@Oberon00 Do I understand you correctly, that you want to say: "when making trade-off between span name being good grouping key and span name being good display name, choose the grouping key side"? |
@iNikem Correct. These are the reasons I think this is good:
|
In light of this, I wonder if I should revert f7e714d again to de-emphasize human-readability even more. |
I don't think so :) IMO span name should (or even must) be human readable (as in "not a byte array"). But there is a huge difference in human readability between e.g. message on the coffee machine display and its user manual :) Both are readable, but trade-offs are different. And we should offer guidelines about trade-offs. |
@iNikem OK, I won't revert it then 😃 If you are satisfied with this PR, would you please review it? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree. This is a tradeoff we are taking in OpenTelemetry.
@Oberon00 it may be out of the scope of this PR, but since you reinforcing the tradeoff we are taking in OpenTelemetry, you can also mention in this paragraph that the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is a good improvement to the wording. +1 on managing cardinality of span name.
@SergeyKanzhelev I think it would be best if you made that PR yourself, as I'm not completely sure I understand what you mean and this is a rather subtle topic. |
Enough approvals and cool off period passed. Merging |
…etry#810) * Clarify span name criteria. * Clarify that human-readility is still something we want.
Resolves #557.
Rationale
(quoted from #810 (comment))
Changes