[Dashboard] Implement Frontend UI for Platform Events#63332
Conversation
4d785e1 to
3667728
Compare
6df9da6 to
4f448ea
Compare
There was a problem hiding this comment.
Code Review
This pull request introduces a new "Platform Events" page to the Ray dashboard, allowing users to view cluster-level events. The changes include the addition of a new API service, TypeScript type definitions, routing configurations, and UI components such as a dedicated events table and severity-based status chips. Feedback focuses on optimizing the use of React state for static values and improving the table's layout and data handling for long event messages.
5eaee7c to
900edbe
Compare
900edbe to
16fa8f3
Compare
16fa8f3 to
c84153d
Compare
c84153d to
287bd29
Compare
758304e to
eb54757
Compare
02c842d to
a35d6b9
Compare
| return true; | ||
| } catch (e: any) { | ||
| return e?.response?.status !== 404; | ||
| } |
There was a problem hiding this comment.
HEAD errors mark feature enabled
Medium Severity
getPlatformEventsEnabled treats any failed head except HTTP 404 as enabled. Network failures and 5xx responses set platformEventsEnabled to true, so the Platform Events nav item can appear when the endpoint is unreachable or failing.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit a35d6b9. Configure here.
e437252 to
61c9707
Compare
61c9707 to
d047510
Compare
| export const getPlatformEventsEnabled = async (): Promise<boolean> => { | ||
| try { | ||
| await head("api/v0/platform_events"); | ||
| return true; |
There was a problem hiding this comment.
HEAD runs full events handler
Medium Severity
Each dashboard load calls head on api/v0/platform_events to gate the nav. On aiohttp, HEAD on a GET route still runs the same handler, which sorts up to 1000 events and builds the full JSON body. That work runs on every visit even when the user never opens Platform Events.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit d047510. Configure here.
d047510 to
4c76502
Compare
|
ping @sampan-s-nayak |
73fada0 to
c615ac7
Compare
e76339e to
d302a20
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
There are 3 total unresolved issues (including 2 from previous reviews).
Reviewed by Cursor Bugbot for commit d302a20. Configure here.
d302a20 to
d549a65
Compare
sampan-s-nayak
left a comment
There was a problem hiding this comment.
thanks LGTM, there seem to be some lint issues though could you please fix them
7941fac to
b14512b
Compare
Signed-off-by: Richa Banker <richabanker@google.com>
fd09c94 to
ff57428
Compare
Looks like they are fixed now |
) ## Description This PR adds the frontend components, types, and navigation topology to render cluster-wide platform events in the Ray Dashboard Tested on a GKE cluster. 1. See the following for RayJob events <img width="3340" height="1996" alt="image" src="https://github.com/user-attachments/assets/5b2a0308-456b-46c8-bbf8-2333c4bdd509" /> 2. See the following for RayCluster events <img width="3420" height="1694" alt="image" src="https://github.com/user-attachments/assets/f8b04b1f-fee0-4d3c-85af-943431aa25f2" /> Signed-off-by: Richa Banker <richabanker@google.com>


Description
This PR adds the frontend components, types, and navigation topology to render cluster-wide platform events in the Ray Dashboard
Tested on a GKE cluster.