Skip to content
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

Optimize WebSocket Data Transfer for Enhanced Efficiency and Reduced Browser Memory Usage #128

Open
butschster opened this issue Apr 17, 2024 · 0 comments
Assignees
Labels
Milestone

Comments

@butschster
Copy link
Member

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:

  1. 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.
  1. 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.
  1. 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: No status
Development

No branches or pull requests

2 participants