GithubHelp home page GithubHelp logo

hhy5277 / space-radar Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zz85/space-radar

0.0 1.0 0.0 592 KB

Disk And Memory Space Visualization App built with Electron & d3.js

Home Page: https://github.com/zz85/space-radar-electron/releases

CSS 8.13% HTML 11.51% JavaScript 80.36%

space-radar's Introduction

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

space-radar-4

screenshot 2015-11-09 04 45 27

screenshot 2015-11-09 04 45 36

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 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...

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

space-radar's People

Contributors

joerg avatar zz85 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.