What happened?
Currently the duration of an operation in Trace Graph view is calculating as a sum of the invocations of this operation. It works incorrectly in the case of overlapping spans and leads to the situation where the duration of a child can be greater than the duration of its parent. My proposal is to calculate the duration of the union of the spans like we do for child nodes.
Steps to reproduce
- Open example_trace.json in Jaeger UI
- Navigate to Trace Graph view
Expected behavior
Expected that the duration of a node is not greater than the duration of its parent.
The total duration for overlapping spans should be the duration of their union, but not the sum.
Relevant log output
No response
Screenshot

Additional context
No response
Jaeger backend version
No response
SDK
No response
Pipeline
No response
Stogage backend
No response
Operating system
No response
Deployment model
No response
Deployment configs
No response