Currently, our system sends complete event bodies through websockets to clients. These event bodies can be over 1MB in size, leading to inefficient data transmission and high memory consumption in browsers. This issue is particularly notable in components like Sentry, profiler, inspectors, HTTP dumps, and SMTP monitoring.
Proposed Changes:
WebSocket Optimization:
Modify the websocket transmission to only include minimal necessary data for each event (e.g., event ID, type, timestamp, and summary).
Ensure that this change applies to all relevant components including Sentry, profiler tools, inspectors, HTTP dumps, and SMTP monitoring.
On-Demand HTTP Requests:
Implement API endpoints to fetch complete event details when requested by the client. This should be done only when the user opens an event page.
Design the API to ensure it supports efficient querying and data retrieval to handle potentially large data sizes effectively.
Frontend Adjustments:
Update the frontend application to handle the new websocket data format and integrate seamlessly with the new HTTP endpoints for fetching detailed event data.
Ensure that the UI dynamically updates and displays the detailed event data when fetched without full page reloads.
Expected Benefits:
Reduced initial data load leading to lower memory usage and improved initial load times in the browser.
Decreased bandwidth usage as large data payloads are only transmitted when necessary.
Enhanced overall user experience due to faster and more responsive interactions.
Currently, our system sends complete event bodies through websockets to clients. These event bodies can be over 1MB in size, leading to inefficient data transmission and high memory consumption in browsers. This issue is particularly notable in components like Sentry, profiler, inspectors, HTTP dumps, and SMTP monitoring.
Proposed Changes:
On-Demand HTTP Requests:
Frontend Adjustments:
Expected Benefits: