-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
See "error" tag in UI multiple time #1470
Comments
I see "error" tag in UI multiple times in same span. |
This could be fixed when converting the trace into json, by making sure the tags are unique (based on both name and value). As it is only performed when retrieving an individual trace, the performance impact should be minimal. Would you be interested in contributing a fix? |
Now I can't take time to this. |
My preference is to do minimum necessary amount of data cleanup in the backend, so that issues can actually be traced back to instrumentation. Here the double error tag is coming from instrumentation that does not follow OT conventions. |
If we do implement deduping, we need to start persisting span warnings in the storage. |
Not sure where the behaviour is defined for this situation? Plus multiple layers of instrumentation may potentially be recording tags/logs on the same span - however they have no way to query the span to retrieve a tag (e.g. to determine if error tag already set). |
The APIs say that the behavior is undefined in these cases and recommend not calling SetTag more than once for the same key. Anyway, I do realize that this is confusing to the end user looking at the trace in the UI, so I think it's fine to dedupe on retrieval, and add a span warning about it. This way we don't need to change the storage layers to support span warnings. We may need some UI enhancements to enable visualizing of span warnings. |
Hi, It would be ok if there will be way to check if with this key already set tag or not. |
I'm working on this one :) |
Requirement - what kind of business use case are you trying to solve?
Problem - what in Jaeger blocks you from solving the requirement?
Proposal - what do you suggest to solve the problem or improve the existing situation?
Any open questions to address
The text was updated successfully, but these errors were encountered: