Replies: 2 comments 2 replies
-
I have a very similar problem. At first, I thought the solution was to create custom traces out of our correlation IDs and force them on every span handling a message. But given how hard OTEL sdl fights back to prevent us from setting our own trace IDs I star to think it is not the right solution. Then someone suggested to use links, and I have the same exact concerns: will I be able to see connected traces? That is the whole reason I want to use open telemetry, so if the answer is no, I will be quite disappointed |
Beta Was this translation helpful? Give feedback.
-
I believe it's essential to inline the linked traces, especially in asynchronous contexts like messaging. In these cases, the conventions recommend using span links for each message, and if no inlining happens at all, the visualization becomes useless. As a user, you're back to the per-service call stack, which doesn't provide the distributed context needed to understand what's happening, and the cognitive load explodes by having to look at all the trees side by side. In building a message-based system, I appreciate Azure Monitor's ability to inline span links. Note: With inlining, I'm refering to showing the linked span within the tree, and even allowing you to expand those details within the tree without having to navigate to another view. There are specific scenarios in which it's beneficial to have an inlined view:
However, I've also seen the flipside be true, as you mention here: when you open a trace that has span links across the entire message conversation, the context explodes, and you lose the benefits of inlining because the cognitive load within a single trace is too large. Going into solution mode, would it be possible to differentiate the types of span links to allow for different decisions for inlining? |
Beta Was this translation helpful? Give feedback.
-
When working on representing connections as spans (e.g. open-telemetry/semantic-conventions#756 or open-telemetry/semantic-conventions#1192), we'd like to be able to
As a result, it could be possible to detect connection pool misconfiguration, leaked connection streams, see when request is slow because it's waiting for connection to be initiated or becomes available to it, etc.
Problem
There are a couple visualization concerns here:
Questions:
How do backends visualize links? Are they ready to show tons of incoming links and potentially huge graphs?
And a couple of fundamental questions:
Beta Was this translation helpful? Give feedback.
All reactions