Skip to content

zhangaz1/space-radar

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Space Radar Electron

Space Radar Electron is a space visualizer that allows interactive Sunburst and Treemap charting of your disk space and memory.

This project started as quick prototype for me to test drive atom 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...

Screenshots

space-radar-4

screenshot 2015-11-09 04 45 27

screenshot 2015-11-09 04 45 36

Downloads

Download Mac and Windows at the releases page

Features

  • previews visualization as disk is being scanned
  • cross platform (at least on Mac OS X and Windows)
  • allow drilldown of directories
  • breadcrumbs and navigation
  • analyze disk contents from a remote server (see section Reading from a file)

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

Whats New

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

DEBUG=true electron .

or

npm run app

Check that you have depdencies installed, otherwise run (this may take awhile for electron binaries)

npm 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

About

Disk Space Visualization App built with Electron & d3.js

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 81.2%
  • CSS 10.2%
  • HTML 8.6%