Space Radar Electron
SpaceRadar allows interactive visualization of disk space and memory. It currently supports Sunburst, Treemap, and Flamegraph charts.
Downloads
Download Mac and Windows at the releases page
Features
- space visualizations using sunburst and treemap charts
- previews visualization as disk is being scanned
- fast (completes disk scanner faster than du)
- cross platform (at least on Mac OS X and Windows)
- allow drilldown of directories
- breadcrumbs and navigation
- opens files and directories
- analyze disk contents from a remote server (see section Reading from a file)
Screenshots
Reading from a file
To create a file to be read from use du -ak
, for example:
du -ak /var/log /usr | gzip -c > /tmp/sizes.txt.gz
du -ak /opt /home /tmp > /tmp/sizes.txt
Compressed files can be read directly. To detect them, the file name has to end with .gz
.
Future Enhancements
- more target for scanning
- color by file types
- filter hidden files
- moar!!
- let me know what you think
Futher Explorations
- More efficient memory usage
- More efficient scanning process
- 3D visualization
History
This project started as quick prototype for me to test drive electron (& some es6 syntax), d3.js and for me to explore the question of "what's taking up my disk space". Turns out writing a disk visualization app isn't that simple as I dwell into figuring out how to make disk scanning not block the ui thread, ipc calls go faster, smoother rendering, lesser memory usage, more sensible interactions...
Whats New
V5
- Import from DU file
- Upgrade electron
- Flamegraphs (BETA)
- Directory Listview
- Update libs - Electron, D3
V4
- Treemap view
- Memory monitoring
- Mac App look using Photon
- Context Menus for locating + opening + deleting files / directories
- Navigation controls (back/fwd/up)
- Switched disk scanning jobs to invisible renderer process
Version 3
- App icon finally! Thanks Jill for the help with this :)
- Many Bug fixes
- Disk scanning is moved to a webview process
- Investigated various RPC methods. Now uses LocalStorage + FileSystem IPC message passing
- Reduce memory usage (and Electron crashes) by not caching key paths
- Tested on > 100GB & 2M files
- Improvements to user interactivity esp on hover states
- To prevent renderer process from hitting heap mem limit (1.5GB), all previous data is null, with dom elements removed to reduce memory pressure
- Allow target selection for disk usage scanning
- Locate path in Finder
- Env Debug Flags
Version 2
- Major speed up scanning directories. About 10x from version 1, and almost as fast or faster than du.
- Runs disk scanning as a separate headless renderer process
- Json is passed back via IPC
- Remove Async npm dependency
Issues
Please raise on github issue tracker or contact @blurspline on twitter
Development
Run
npm run debug
or
npm run app
Check that dependencies are installed, otherwise run (this may take awhile for electron binaries)
npm run install
Thanks
- Jill for designing the app logo
- Jianwei for his comments on the app
- Chee Aun for helping alpha test the app
- WM for his talk on Electron that got me started
- Contributors