-
Notifications
You must be signed in to change notification settings - Fork 12.3k
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
Tempo: Represent OTLP Span Intrinsics correctly #69394
Conversation
key: 'otel.status_code', | ||
value: SpanStatusCode[span.status.code], | ||
}); | ||
if (span.status.message) { | ||
spanTags.push({ key: 'otel.status_description', value: span.status.message }); | ||
intrinsics.push({ key: 'otel.status_description', value: span.status.message }); |
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.
So we call these status.code
& status.message
in the backend but when transforming here we rename to otel.status_code
and otel.status_description
- not fully happy with that approach
Backend code coverage report for PR #69394 |
Frontend code coverage report for PR #69394
|
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.
In order to represent the OTLP intrinsics correctly we have to make a few more changes to this PR:
error = true
shouldn't be displayed in the intrinsics section because it's not a valid intrinsic attribute. It may be a part of other sections if the system has a tag callederror
but in our case I think we're adding it "manually" to denote an error, which is wrong under OTLP.span.kind
is not a valid intrinsic.kind
is an intrinsic though so we can show it instead- same for
status.code
. Howeverstatus
is a valid intrinsic - Please review all the comments of TraceView: Represent OTLP Span Intrinsics correctly #59607 to make sure we're making all the necessary and accurate changes.
I don't think it makes sense to hide the intrinsics as another table section. I think this comment with the image makes more sense: #59607 (comment). Basically, intrinsics are well-known parts of the span that are always there while attributes is a variable length list of key-value pairs. This should be apparent from the UI and needs a different representation imho. |
Thanks for the reviews :) I believe we had discussed in stand up that we were first going to move the intrinsics to their own section and then modify/rename them accordingly after some more discussion. In any case, I've updated this PR and removed the intrinsics section and instead display the values in the span details along with service, duration etc. I've removed |
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.
Small comment about the accessor functions but otherwise look good.
Has been reviewed by other team member as original unavailable
* Span intrinsics * Update intrinsics and add to span details * Remove intrinsics section * Update tests * Update status code text * Self review * Move previously intrinsic values to span * Remove few methods
What is this feature?
Adds a span intrinsics section and moves all intrinsic tags to that section.
Why do we need this feature?
To represent OTLP Span Intrinsics correctly.
Who is this feature for?
Tempo users.
Which issue(s) does this PR fix?:
Fixes #59607
This also fixes a few issues not reported;
Special notes for your reviewer:
Please check that: