[Traces] Spans hierarchical timeline#2474
[Traces] Spans hierarchical timeline#2474sthobis wants to merge 4 commits intoopensearch-project:mainfrom
Conversation
Signed-off-by: Thobi Sinaga <thobi@bigdataboutique.com>
Signed-off-by: Thobi Sinaga <thobi@bigdataboutique.com>
Signed-off-by: Thobi Sinaga <thobi@bigdataboutique.com>
Signed-off-by: Thobi Sinaga <thobi@bigdataboutique.com>
| }, | ||
| "devDependencies": { | ||
| "@cypress/skip-test": "^2.6.1", | ||
| "@types/d3-scale": "^4.0.9", |
There was a problem hiding this comment.
Thanks for the PR @sthobis
I am not a fan of adding more dependencies on the projects. The needs more maintenance, more CVE fixes and tree/dependency checks. Can we use something that already exists in OSD core. I see we have d3 and vega-lite there. Would be great if we can use them.
I know many projects in the OSD core, including the new discover pieces are using vega-lite as a standard.
|
Hi @sthobis , OpenSearch-Dashboards is looking to move away from plotly, we have a feature coming out for OpenSearch Dashboards where I have started the refactor to make a gantt chart using vega-lite instead. I believe vega would allow much more functionality for making the collapse structure in a more visually clear way avoiding the confusion of the box structure called out above. These changes were planned to come to Traces here in the September time range, but I would be happy to work with you on switching this to vega if you wanted to start incorporating those new great features into the vega version. |
|
@TackAdam a lot of good work and effort has been put into this -- wouldn't it be possible to merge it in (after any concrete feedback applied) and then move to another graphing lib? |
|
@synhershko Thanks again for all the effort that’s gone into this. We’ve now posted the RFC outlining our upcoming changes to the Traces experience in OpenSearch: opensearch-project/OpenSearch-Dashboards#10382. I’d really value your feedback there. From that discussion, we can decide together whether it makes sense to move forward with this in the interim (with some necessary UI adjustments), or redirect the work toward the new component proposed in the RFC. |
|
This PR is stalled because it has been open for 30 days with no activity. |
|
Attending OSCon so haven't responded to the RFC yet but will do so soon. In the meantime, @kgcreative mentioned he has some feedback ? |
|
This is great! I think the main feedback i'd have is to remove the borders across all the containers. It makes it a bit difficult to parse visually and adds a lot of noise. I would have expected something with a similar interaction as a tree view (https://oui.opensearch.org/1.21/#/navigation/tree-view) Ideally we could enhance tree view to make it easier to grok the nesting like so: |
|
This PR is stalled because it has been open for 30 days with no activity. |







Description
This PR replaces the previous Gantt chart component in Trace with a more comprehensive hierarchical timeline. While the Gantt chart showed span lifetimes well, it didn’t effectively communicate parent-child relationships between spans. The tree view solved this to some extent, but switching between tree and timeline views was disruptive, as both reset their state.
We also introduce a new side panel with a service filter to help navigate relevant spans. It's built using raw canvas (for the minimap) and HTML for better customization, as Plotly's bar chart isn’t well-suited for hierarchical layouts.
Basic Cypress tests are included for both the timeline and service filter components.
Screen.Recording.2025-07-22.at.19.07.01.720p.mov
Issues Resolved
Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.