-
Notifications
You must be signed in to change notification settings - Fork 0
Add --heatmap flag for time-series heatmap visualization of I/O patterns #33
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
base: main
Are you sure you want to change the base?
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #33 +/- ##
==========================================
+ Coverage 45.49% 54.28% +8.79%
==========================================
Files 4 4
Lines 455 595 +140
==========================================
+ Hits 207 323 +116
- Misses 248 272 +24 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
- Enhanced collector to capture timestamps from strace and fs_usage - Added --spectrogram flag to magic.py for time-series visualization - Created generate_spectrogram function in display.py with heatmap plots - Added comprehensive tests for timestamp parsing and spectrogram generation - All existing tests pass with new timestamp fields Co-authored-by: mtauraso <31012+mtauraso@users.noreply.github.com>
- Created spectrogram_example.ipynb showcasing time-series visualization - Configured docs to execute notebooks during build with nbsphinx - Updated README with spectrogram usage examples and documentation - Added nbsphinx and ipykernel to docs requirements Co-authored-by: mtauraso <31012+mtauraso@users.noreply.github.com>
- Clarified strace timestamp comment (Unix epoch with microsecond precision) - Added named constants for spectrogram magic numbers - Compiled regex pattern for timestamp detection to improve performance - Reduced test operation count from 1000 to 200 for faster tests - Fixed line length issues Co-authored-by: mtauraso <31012+mtauraso@users.noreply.github.com>
|
Notes for me:
|
|
@copilot I'd like you to:
|
- Renamed generate_spectrogram to generate_heatmap - Renamed --spectrogram flag to --heatmap throughout codebase - Added format_time_axis function to auto-select appropriate time unit (s, ms, μs, ns) - Updated x-axis labels to show time in human-readable units with limited decimal places - Renamed test file from test_spectrogram.py to test_heatmap.py - Renamed notebook from spectrogram_example to heatmap_visualization - Updated all documentation and constants to use 'heatmap' terminology - Added heatmap notebook to docs/notebooks.rst with description - All 136 tests pass Co-authored-by: mtauraso <31012+mtauraso@users.noreply.github.com>
I've completed all requested changes in commit 2aa6284: 1. Updated and merged with main - Resolved merge conflicts and integrated the new documentation structure from main branch. 2. Made x-axis human readable - Added
The axis labels now display in the selected unit with limited decimal places (e.g., "Time (ms)" with 1 decimal place). 3. Renamed the flag - Changed from
4. Added documentation - Created comprehensive documentation following the structure on main:
The heatmap now shows time in appropriate units with readable formatting, making it easy to understand temporal I/O patterns at any time scale. |

Change Description
Closes #9
Implements time-series heatmap visualization showing when I/O operations of different sizes occur during execution. Requested feature to complement existing --histogram flag.
Solution Description
Timestamp Capture
-tttflag (Unix epoch timestamps with microsecond precision)parse_strace_line()andparse_fs_usage_line()to extract and store timestampsHeatmap Visualization
Added
generate_heatmap()function producing two heatmaps:The time axis automatically selects the most appropriate unit based on the time scale, making it easy to understand temporal patterns at any magnitude.
Supports inline display (notebooks) and file export (terminal).
CLI Integration
Documentation
heatmap_visualization.ipynbfollowing the established documentation patterndocs/notebooks.rstCode Quality
Project-Specific Pull Request Checklists
New Feature Checklist
Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.