This document maps the dashboard widgets and features to their controlling files/scripts.
- Widget View:
app/views/widgets/_news_feed.erb - API Controller:
app/controllers/api/news_feed_controller.rb - API Route:
GET /api/news_feed - JavaScript Function:
load_news_feed()(defined inline in widget) - Data Source: External RSS/API feed
- Cache Duration: 30 minutes (server-side), 1 hour (client-side)
- Widget View:
app/views/widgets/_job_queue.erb - API Controller:
app/controllers/api/job_queue_controller.rb - API Route:
GET /api/job_queue - JavaScript Function:
load_job_queue()(defined inline in widget) - Data Source: SLURM squeue command
- Cache Duration: 5 seconds
- Links To:
/myjobs(My Jobs page)
- Widget View:
app/views/widgets/_partition_status.erb - API Controller:
app/controllers/api/partition_status_controller.rb - API Route:
GET /api/partition_status - JavaScript Function:
load_partition_status()(defined inline in widget) - Data Source: SLURM sinfo command
- Cache Duration: 60 seconds (server-side), 30 seconds (client-side)
- Displays: Partition state (UP/DOWN/DRAIN), core/node/GPU utilization
- Widget View:
app/views/widgets/_account_list.erb - API Controller:
app/controllers/api/account_list_controller.rb - API Route:
GET /api/account_list - JavaScript Function:
load_account_list()(defined inline in widget) - Related API:
app/controllers/api/gpu_hour_summary_controller.rb(for exports) - Data Source: SLURM account/user allocation data
- Cache Duration: 1 minute
- Features: CPU/GPU usage per allocation, export to CSV/Excel
- Widget View:
app/views/widgets/_disk_usage.erb - API Controller:
app/controllers/api/disk_usage_controller.rb - API Route:
GET /api/disk_usage - JavaScript Function:
load_disk_usage()(defined inline in widget) - Data Source: Filesystem quota commands
- Cache Duration: 60 seconds (server-side), 5 minutes (client-side)
- Displays: Home/scratch/depot storage usage and file counts
- Links To: Files browser
- Controller:
app/controllers/my_jobs_controller.rb - Routes:
GET /myjobs,GET /myjobs/json,DELETE /myjobs - Views:
app/views/my_jobs/index.html.erb
- Controller:
app/controllers/job_controller.rb - Route:
GET /job/:jobid - Views:
app/views/job/show.html.erb - API:
app/controllers/api/jobs_controller.rb
- Controller:
app/controllers/nodes_controller.rb - Route:
GET /nodes/:name - Views:
app/views/nodes/show.html.erb - API:
app/controllers/api/nodes_controller.rb
- Controller:
app/controllers/cluster_status_controller.rb - Route:
GET /cluster_status - API:
app/controllers/api/cluster_status_controller.rb - Views:
app/views/cluster_status/index.html.erb
- Controller:
app/controllers/performance_metrics_controller.rb - Route:
GET /performance_metrics - API:
app/controllers/api/performance_metrics_controller.rb - Views:
app/views/performance_metrics/index.html.erb