voonhous opened a new pull request, #13147:
URL: https://github.com/apache/hudi/pull/13147

   ### Describe the issue this Pull Request addresses
   
   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/ui` after starting the 
timeline service.
   
   
   ### Summary and Changelog
   
   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.
   
   <img width="1025" height="335" alt="image" 
src="https://github.com/user-attachments/assets/25370c58-b037-4a31-9fbc-c8fc5430944a";
 />
   
   
   #### Hovering over instants
   
   Hovering over the instant bars will show you additional details like 
duration an action took.
   
   <img width="4092" height="1386" alt="image" 
src="https://github.com/user-attachments/assets/96b4abb2-b708-4603-a9b9-9b6d4be4ce7e";
 />
   
   
   #### 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.
   
   <img width="2052" height="1155" alt="image" 
src="https://github.com/user-attachments/assets/495082af-b6fa-4bc1-87fa-5d943b2c3d5f";
 />
   
   
   #### Clean range
   
   Upon selection of a `clean` commit/plan that uses `KEEP_LATEST_COMMITS`, 
clean range will be displayed.
   
   <img width="2043" height="746" alt="image" 
src="https://github.com/user-attachments/assets/20c06785-b38d-4c8e-a0cf-370d7320af37";
 />
   
   
   #### Configs page
   
   Table configurations are displayed in the `Table Config` tab:
   
   <img width="2041" height="813" alt="image" 
src="https://github.com/user-attachments/assets/f607f0ff-751e-4647-b8c6-b66542a90212";
 />
   
   #### Schema History
   
   Schema related changelogs are also displayed (only when schema operations 
are done using `hoodie.schema.on.read.enable=true` under the `Shcema History` 
tab.
   
   <img width="2042" height="1177" alt="image" 
src="https://github.com/user-attachments/assets/2281da8d-c972-429c-8a06-a2d3a1c82bd1";
 />
   
   
   The schema changelog can also be expanded to see what column changed at 
which schemacommit.
   
   <img width="2040" height="534" alt="image" 
src="https://github.com/user-attachments/assets/e05cd10e-3905-4ced-bc12-3a47512f8fba";
 />
   
   
   ### Impact
   
   _Describe any public API or user-facing feature change or any performance 
impact._
   
   Added 4 API endpoints on the `/v2/hoodie/view` path:
   1. `timeline/instants/all?basepath={basepath}` - all instants (v2 format)
   2. 
`timeline/instant?basepath={basepath}&instant={instant}&instantaction={action}&instantstate={state}`
 -  instant details
   3. `table/config?basepath={basepath}` - table configuration
   4. `table/schema/history?basepath={basepath}&limit={limit}` - schema 
evolution history
   
   The UI is served at `/ui` (previously redirected to `/index.html`).
   
   ### Risk Level
   
   None
   
   ### Documentation Update
   
   We do not have any documentations for timeline service, hence, i suppose no 
documentation changes are required.
   
   ### Contributor's checklist
   
   - [x] Read through [contributor's 
guide](https://hudi.apache.org/contribute/how-to-contribute)
   - [x] Change Logs and Impact were stated clearly
   - [x] Adequate tests were added if applicable
   - [x] CI passed
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to