-
Notifications
You must be signed in to change notification settings - Fork 8
Description
Problem
Customers hitting RAM limits have no visibility into their RAM usage, leading to confusion about the cause of 502 errors and inability to self-diagnose resource exhaustion issues.
Context: Ticket #993161 — customer (nicolas corlay) repeatedly hit RAM limit causing OOM kills → 502 errors. The root cause was Docker consuming RAM, but the customer had no way to see they were at their RAM limit.
Proposed Solutions
1. Welcome Page RAM Usage Meter
Add a RAM usage meter to the welcome page (https://SERVER.pulsedmedia.com/user-USERNAME/), similar to existing traffic and disk quota meters.
Display:
- Current RAM usage / RAM limit
- Visual progress bar
- Warning when approaching limit (e.g., >80%)
2. ruTorrent Plugin for RAM Quota
Create a ruTorrent plugin showing RAM usage/limit, similar to the existing HDD quota plugin.
Features:
- Current usage / limit display
- Visual indicator
- Real-time updates
- Warning states
3. Traffic Meter ruTorrent Plugin
While implementing the RAM plugin, also create a traffic usage plugin for ruTorrent to show monthly traffic consumption.
Features:
- Current month usage / limit
- Days remaining in billing period
- Visual progress bar
Benefits
- Customer self-service — customers can diagnose resource issues without opening tickets
- Reduced support load — fewer "why 502?" tickets when cause is resource exhaustion
- Proactive management — customers can see approaching limits and adjust before hitting them
- Better UX — visibility into what they're paying for
Technical Notes
- Welcome page already has infrastructure for quota meters (disk, traffic) — extend to RAM
- ruTorrent plugins framework exists (HDD quota plugin is reference implementation)
- RAM usage available via cgroup memory.current / memory.max
- Traffic data available via existing accounting system
References
- Ticket #993161 (customer hit RAM limit, no visibility)
- Existing HDD quota plugin (ruTorrent)
- Existing welcome page quota meters (disk, traffic)