Skip to content

[HUDI-9315] Add Hudi Timeline UI to aid debugging #13147

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

voonhous
Copy link
Member

@voonhous voonhous commented Apr 15, 2025

Change Logs

Visualizing the timeline via console and finder/explorer is often challenging as files are often sorted via naming convention. With completion time thrown into completed instants, it makes grouping of instants even harder when looking at it via console.

Hence, a timeline visualizer can oftentimes make one able to understand the timeline better, especially for concurrent/long writes.

The timeline-ui page is accessible via http://timeline_server__host:timeline_server__port/timeline after starting the timeline service.

Attached below is an example of how it looks like for now, functionalities are there, but it is a little rough:

Main page

The main page allow users to input the the table paths and the timeline will be visualised.

image

Hovering over instants

Hovering over the instant bars will show you additional details like duration an action took.

image

Selecting an instant

Since commit details are saved to the filesystem as avro binaries, the commit information are not easily readable. Selecting the commit/deltacommit will return the details in json format.

NOTE: only commit/deltacommits are supported for now.

image

Impact

Describe any public API or user-facing feature change or any performance impact.
Added 2 API endpoints on on the /v2/hoodie/view path and they are:

  1. timeline/instants/all?basepath={basepath}
  2. timeline/instant?basepath={basepath}&instant={instant}&instantaction={instantaction}&instantstate={instantstate}

Risk level (write none, low medium or high below)

None

Documentation Update

We do not have any documentations for timeline service, hence, i suppose no documentation changes are required.

Contributor's checklist

  • Read through contributor's guide
  • Change Logs and Impact were stated clearly
  • Adequate tests were added if applicable
  • CI passed

@github-actions github-actions bot added the size:L PR with lines of changes in (300, 1000] label Apr 15, 2025
@hudi-bot
Copy link

CI report:

Bot commands @hudi-bot supports the following commands:
  • @hudi-bot run azure re-run the last Azure build

@danny0405
Copy link
Contributor

@voonhous Nice feature, do you think it deserves a RFC then?

@voonhous
Copy link
Member Author

voonhous commented Apr 16, 2025

Sure, will create a new RFC for this.

Note: Calling out that this feature is not to be confused with RFC-05:
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=130027233

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size:L PR with lines of changes in (300, 1000]
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants