-
Notifications
You must be signed in to change notification settings - Fork 1.1k
OSD: Add Timeline waterfall bars column to SpanDetailTableHierarchy #10610
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
Conversation
@@ -0,0 +1,47 @@ | |||
.timelineRuler { |
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.
@TackAdam have we not been using namespaced classnames for traces?
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.
.exploreGanttChart We have been using .explore
Good call-out will guide contributor on updating this.
Thanks
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.
Prefixed the class name with explore, so now it's .exploreTimelineRuler
Signed-off-by: Nathan Yang <yanatha@amazon.com>
…rch-project#10560) * update line chart look and feel Signed-off-by: Yulong Ruan <ruanyl@amazon.com> * add unit tests Signed-off-by: Yulong Ruan <ruanyl@amazon.com> * Changeset file for PR opensearch-project#10560 created/updated * hover state for area chart Signed-off-by: Yulong Ruan <ruanyl@amazon.com> * add pie chart hover state Signed-off-by: Yulong Ruan <ruanyl@amazon.com> * hover state for scatter Signed-off-by: Yulong Ruan <ruanyl@amazon.com> --------- Signed-off-by: Yulong Ruan <ruanyl@amazon.com> Co-authored-by: opensearch-changeset-bot[bot] <154024398+opensearch-changeset-bot[bot]@users.noreply.github.com> Signed-off-by: Nathan Yang <yanatha@amazon.com>
…arch-project#10590) * vis(vega): default set flag exposeDebugObjectToWindow to true Signed-off-by: Yulong Ruan <ruanyl@amazon.com> * Changeset file for PR opensearch-project#10590 created/updated --------- Signed-off-by: Yulong Ruan <ruanyl@amazon.com> Co-authored-by: opensearch-changeset-bot[bot] <154024398+opensearch-changeset-bot[bot]@users.noreply.github.com> Signed-off-by: Nathan Yang <yanatha@amazon.com>
Signed-off-by: Nathan Yang <yanatha@amazon.com>
…rce (opensearch-project#10598) * Fix source command detection if we have a field expression before source Signed-off-by: Suchit Sahoo <suchsah@amazon.com> * Changeset file for PR opensearch-project#10598 created/updated --------- Signed-off-by: Suchit Sahoo <suchsah@amazon.com> Co-authored-by: opensearch-changeset-bot[bot] <154024398+opensearch-changeset-bot[bot]@users.noreply.github.com> Signed-off-by: Nathan Yang <yanatha@amazon.com>
Signed-off-by: Nathan Yang <yanatha@amazon.com>
…arch Dashboards (opensearch-project#10600) This PR introduces two new plugins that enable AI-powered chat functionality with intelligent context capture in OpenSearch Dashboards: ### 🤖 Chat Plugin (`src/plugins/chat`) - **AI-powered chat interface** integrated into the OpenSearch Dashboards header - **AG-UI framework integration** for LLM interactions with streaming support - **Tool calling system** with dynamic action registration and execution - **Graph visualization capabilities** for time series data - **Context-aware conversations** that understand dashboard state and user interactions **Key Features:** - Real-time streaming chat responses via Server-Sent Events - Tool execution with visual feedback and result rendering - Conversation management with thread isolation - Integration with OpenSearch Dashboards navigation and theming ### 🔍 Context Provider Plugin (`src/plugins/context_provider`) - **Modern React hooks architecture** for context capture (`usePageContext`, `useDynamicContext`) - **Automatic URL state monitoring** captures time ranges, queries, datasets, and filters - **Dynamic interaction capture** tracks document expansions, text selections, and user actions - **Global context store** for AI assistant and MCP server integration - **Zero-dependency design** works across all plugins without modifications **Key Features:** - Direct browser URL monitoring for universal plugin compatibility - Category-based context organization for efficient filtering - Automatic lifecycle management with React hooks - Text selection capture with visual indicators - Backend-optimized context formatting Both plugins are designed to enhance the OpenSearch Dashboards experience by providing intelligent, context-aware AI assistance that understands user workflows and can execute actions on their behalf. --------- Signed-off-by: Anan Zhuang <ananzh@amazon.com> Signed-off-by: Joshua Li <joshuali925@gmail.com> Co-authored-by: Ashwin P Chandran <ashwinpc@amazon.com> Co-authored-by: Joshua Li <joshuali925@gmail.com> Co-authored-by: Kyle Hounslow <kylhouns@amazon.com> Co-authored-by: opensearch-changeset-bot[bot] <154024398+opensearch-changeset-bot[bot]@users.noreply.github.com> Signed-off-by: Nathan Yang <yanatha@amazon.com>
* trace flag framework, bug fixes Signed-off-by: Adam Tackett <tackadam@amazon.com> * update explore start script Signed-off-by: Adam Tackett <tackadam@amazon.com> * add experimental flag, update cypress script for the trace flag Signed-off-by: Adam Tackett <tackadam@amazon.com> * changelog Signed-off-by: Adam Tackett <tackadam@amazon.com> * update config Signed-off-by: Adam Tackett <tackadam@amazon.com> --------- Signed-off-by: Adam Tackett <tackadam@amazon.com> Signed-off-by: Adam Tackett <105462877+TackAdam@users.noreply.github.com> Signed-off-by: Anan Zhuang <ananzh@amazon.com> Co-authored-by: Adam Tackett <tackadam@amazon.com> Co-authored-by: Anan Zhuang <ananzh@amazon.com> Signed-off-by: Nathan Yang <yanatha@amazon.com>
…search-project#10613) * Fix CI/CD failure: Cannot find module @osd/optimizer/target/cli Signed-off-by: Anan Zhuang <ananzh@amazon.com> * Changeset file for PR opensearch-project#10613 created/updated --------- Signed-off-by: Anan Zhuang <ananzh@amazon.com> Co-authored-by: opensearch-changeset-bot[bot] <154024398+opensearch-changeset-bot[bot]@users.noreply.github.com> Signed-off-by: Nathan Yang <yanatha@amazon.com>
…-project#10612) * AG-UI compliant Langgraph ReAct agent implementation Lint fixes and changing file to snake case Fixing imports for snake case feat: Implement TextMessageManager for improved message lifecycle management and tool call interruption in AG UI feat: Refactor tool result handling to improve message lifecycle management in BaseAGUIAdapter feat: Improve response handling by logging warnings for empty content blocks and filtering out empty text blocks to prevent ValidationException Renaming text_message_manager and imports Signed-off-by: Megha Goyal <goyamegh@amazon.com> Adding default observability prompt Signed-off-by: Megha Goyal <goyamegh@amazon.com> Removing jarvis and coact agents Signed-off-by: Megha Goyal <goyamegh@amazon.com> * Changeset file for PR opensearch-project#10612 created/updated * Fixing build failures due to langgraph-checkpoint-sqlite Signed-off-by: Megha Goyal <goyamegh@amazon.com> * Fixing yarn.lock using yarn v1.22.10 Signed-off-by: Megha Goyal <goyamegh@amazon.com> * Fix yarn.lock aain for 1.22.10 after rebase Signed-off-by: Megha Goyal <goyamegh@amazon.com> --------- Signed-off-by: Megha Goyal <goyamegh@amazon.com> Co-authored-by: opensearch-changeset-bot[bot] <154024398+opensearch-changeset-bot[bot]@users.noreply.github.com> Signed-off-by: Nathan Yang <yanatha@amazon.com>
* add explore experience modal Signed-off-by: abbyhu2000 <abigailhu2000@gmail.com> * Changeset file for PR opensearch-project#10607 created/updated * add fallback for dismissing modal for read only permission users Signed-off-by: abbyhu2000 <abigailhu2000@gmail.com> * add a flag to disable experience modal Signed-off-by: abbyhu2000 <abigailhu2000@gmail.com> * disable it for tests Signed-off-by: abbyhu2000 <abigailhu2000@gmail.com> * disable for cypress tests too Signed-off-by: abbyhu2000 <abigailhu2000@gmail.com> --------- Signed-off-by: abbyhu2000 <abigailhu2000@gmail.com> Signed-off-by: Qingyang(Abby) Hu <abigailhu2000@gmail.com> Co-authored-by: opensearch-changeset-bot[bot] <154024398+opensearch-changeset-bot[bot]@users.noreply.github.com> Signed-off-by: Nathan Yang <yanatha@amazon.com>
…t#10608) * handle undefined item in span table Signed-off-by: Jessica Lew <jessrlew@amazon.com> * Changeset file for PR opensearch-project#10608 created/updated --------- Signed-off-by: Jessica Lew <jessrlew@amazon.com> Co-authored-by: opensearch-changeset-bot[bot] <154024398+opensearch-changeset-bot[bot]@users.noreply.github.com> Signed-off-by: Nathan Yang <yanatha@amazon.com>
* update column names Signed-off-by: Jessica Lew <jessrlew@amazon.com> * Changeset file for PR opensearch-project#10609 created/updated * fix attributes.service.name column name Signed-off-by: Jessica Lew <jessrlew@amazon.com> --------- Signed-off-by: Jessica Lew <jessrlew@amazon.com> Co-authored-by: opensearch-changeset-bot[bot] <154024398+opensearch-changeset-bot[bot]@users.noreply.github.com> Signed-off-by: Nathan Yang <yanatha@amazon.com>
Signed-off-by: Nathan Yang <yanatha@amazon.com>
Signed-off-by: Nathan Yang <yanatha@amazon.com>
* Add Query Snippet Suggestions Signed-off-by: Suchit Sahoo <suchsah@amazon.com> * Fix Cypress Tests Signed-off-by: Suchit Sahoo <suchsah@amazon.com> --------- Signed-off-by: Suchit Sahoo <suchsah@amazon.com> Signed-off-by: Nathan Yang <yanatha@amazon.com>
* Fix Column Value Caching for Autocomplete Signed-off-by: Suchit Sahoo <suchsah@amazon.com> * Fix Test case Signed-off-by: Suchit Sahoo <suchsah@amazon.com> * Changeset file for PR opensearch-project#10621 created/updated --------- Signed-off-by: Suchit Sahoo <suchsah@amazon.com> Co-authored-by: opensearch-changeset-bot[bot] <154024398+opensearch-changeset-bot[bot]@users.noreply.github.com> Signed-off-by: Nathan Yang <yanatha@amazon.com>
…#10622) * make UI changes to explore modal Signed-off-by: abbyhu2000 <abigailhu2000@gmail.com> * Add i18n support Signed-off-by: abbyhu2000 <abigailhu2000@gmail.com> * change to use localStorage Signed-off-by: abbyhu2000 <abigailhu2000@gmail.com> * change to local storage Signed-off-by: abbyhu2000 <abigailhu2000@gmail.com> * Changeset file for PR opensearch-project#10622 created/updated * add comment on customized use for deprecation function Signed-off-by: abbyhu2000 <abigailhu2000@gmail.com> * remove modal title Signed-off-by: abbyhu2000 <abigailhu2000@gmail.com> --------- Signed-off-by: abbyhu2000 <abigailhu2000@gmail.com> Co-authored-by: opensearch-changeset-bot[bot] <154024398+opensearch-changeset-bot[bot]@users.noreply.github.com> Signed-off-by: Nathan Yang <yanatha@amazon.com>
…h-project#10624) * chat(feat): mark context provider and chat as experimental Signed-off-by: Anan Zhuang <ananzh@amazon.com> * Changeset file for PR opensearch-project#10624 created/updated --------- Signed-off-by: Anan Zhuang <ananzh@amazon.com> Co-authored-by: opensearch-changeset-bot[bot] <154024398+opensearch-changeset-bot[bot]@users.noreply.github.com> Signed-off-by: Nathan Yang <yanatha@amazon.com>
…re separation and add license to top Signed-off-by: Nathan Yang <yanatha@amazon.com>
…ore' Signed-off-by: Nathan Yang <yanatha@amazon.com>
No changes, just forgot to sign off on the two chore commits. Followed the steps to retroactively signoff by rebasing with signoff and then pushed |
Code coverage check failing on changes that were not part of this original PR, but my changes do have full coverage. I think it's due to the |
Moved these changes to cleaned up PR #10642 |
Description
Add new Timeline waterfall bars column to Tree view table on Trace details page. This is intended to replace the separate Timeline gantt chart as an inline solution to the table for a more cohesive view of the spans.
TimelineWaterfallBar
renders waterfall bar for a span's time rangeSpanDetailTableHierarchy
)useTimelineBarRange
calculates relative bar offset and width based on each span's time range and overall trace time range along with any optional paddingtimelineBarOffsetPercent
andtimelineBarWidthPercent
determine bar positioning and sizedurationMs
,relativeStart
, andrelativeEnd
are passed to bar tooltipuseTimelineBarColor
determines color of bar based on span's service nameTimelineRuler
renders a ruler with evenly spaced "nice" millisecond measurements to visually compare the waterfall barsuseTimelineTicks
calculates optimal tick mark offsets and values for timeline ruler based on overall trace time range (min, max) and desired number of tick marks. Also takes any optional padding into account for scaling.TimelineHeader
renders the Timeline column header, which combines "Timeline" text translation with theTimelineRuler
The span table's "Tree view" has been modified to include new "Timeline" column before the "Duration" column and also hide the "Parent Id" by default to give the "Timeline" column more space.
A new
span_timerange_utils.ts
file has also been added with helper functions for calculating both span and trace time range (durationMs, startTimeMs, endTimeMs).TODO Follow up items
Screenshot
Testing the changes
Changelog
Check List
yarn test:jest
yarn test:jest_integration