Skip to content

Conversation

@SpyrosMouselinos
Copy link
Contributor

Summary

Adds client-side export functionality supporting three formats:

  • JSON: Raw metrics data with 60-second historical window
  • HTML Report: Self-contained reports with embedded chart images
  • Chart Images: PNG exports of performance graphs

Features

  • Works in both single-node and hub modes
  • Zero backend changes (purely client-side)
  • 60-second rolling window for historical data
  • Base64-embedded charts in HTML reports for offline viewing
  • Smart download handling with browser blocking prevention

Implementation

  • Uses Chart.js toBase64Image() API for chart rendering
  • Blob API for file downloads
  • DOM scraping for current metrics
  • Global chartData and charts objects for historical data

Use Cases

  • Sharing GPU metrics with team members
  • Creating performance reports for documentation
  • Debugging and troubleshooting snapshots
  • Offline metric analysis

Testing

  • Tested in Docker environment
  • Verified in both single-node and hub modes
  • Confirmed chart image quality and HTML report rendering

Adds client-side export feature supporting three formats:
- JSON: Raw metrics data with full history
- HTML Report: Self-contained reports with embedded charts
- Chart Images: PNG exports of performance graphs

Features:
- Works in both single-node and hub modes
- No backend changes required
- 60-second rolling window for historical data
- Embedded Base64 chart images in HTML reports

Implementation is purely client-side using Blob API and Chart.js
toBase64Image() for rendering.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants