• Stars
    star
    1,383
  • Rank 33,990 (Top 0.7 %)
  • Language
    JavaScript
  • Created about 9 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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

More Repositories

1

timeliner

simple javascript timeline library for animation and prototyping
JavaScript
707
star
2

sparks.js

a lightweight 3d particle engine in javascript, compatible with THREE.js and TWEEN.js
JavaScript
435
star
3

kafka-streams-viz

Kafka Streams Topology Sketch Diagram Visualization
JavaScript
410
star
4

threejs-path-flow

๐Ÿฌ๐ŸŸ โ†ถMesh Deformation / Bending / Following on a Curve
JavaScript
310
star
5

FractalLab

WebGL interactive fractal renderer
JavaScript
180
star
6

crayon.js

Node-based Shader Library for Three.js
92
star
7

wild-web-midi

Wild Web Midi - quality Midi playback with JS in your browser (emscripten port of Wild Midi)
C
72
star
8

threejs-term

Terminal Renderer for Three.js
JavaScript
71
star
9

mrdoobapproves

does mrdoob approve?
JavaScript
63
star
10

audiokeys.js

javascript spectrum for HTML5 audio
JavaScript
51
star
11

zz85-bookmarklets

my collections of bookmarklets
JavaScript
33
star
12

contact.js

multi-touch and sensor beaming via websockets
JavaScript
31
star
13

lightbroom

because photos should be swept fast
JavaScript
30
star
14

ThreeLabs

Experiments with Three.js that may or may not make it back into the library.
JavaScript
28
star
15

profile-bee

๐Ÿ๐Ÿฆ€๐Ÿ”ฅ An ebpf based CPU profiler written in Rust
JavaScript
28
star
16

3ource

browser based git source visualization with three.js
JavaScript
26
star
17

nwc-viewer

๐ŸŽผ๐ŸŽน๐ŸŽถโ™ญโ™ฎโ™ฏโ™ฌ open source noteworthy composer music notation viewer & player
JavaScript
21
star
18

ascii-graphs.js

Ascii visualizations
JavaScript
18
star
19

keyboard.js

Virtual Keyboard Experiments
HTML
17
star
20

electron-awesomeness

Electron App to help manage Electron Apps
HTML
17
star
21

fast-rectangles

Different and fast approaches to rendering rectangles in your browser
HTML
16
star
22

DragSpline

A Click and Drag Visual Shape Editor for Game Design
JavaScript
16
star
23

phonopaper.js

JS Version of PhonoPaper
JavaScript
16
star
24

cubic-bezier-approximations

Cubic Bezier Approximations for Robert Penner Easing Equations
JavaScript
16
star
25

chop-chop-video

Video Editing Experiments with JS
JavaScript
15
star
26

js1k-tools

toolkit for js1k
JavaScript
13
star
27

RenderFlies

RenderFlies is a distributed video render system using web browsers and node.js
JavaScript
13
star
28

glsl-cleaner

Parse, Analyse, Clean GLSL code in JS
JavaScript
12
star
29

do.js

Minimalistic Event Dispatcher
JavaScript
7
star
30

bummerman

Remake Bomberman in JS and 3D
JavaScript
7
star
31

packet_radar

Realtime Network Analysis and Visualization
Rust
7
star
32

photocurves

Photo / Color Curves Adjustments
JavaScript
6
star
33

shoeprint

Simple, Useful Poor Man's Network Swiss knife of traceroute, ping, mtr and whois
JavaScript
6
star
34

campjs-livecode

Live Code Editor created on route to CampJS
JavaScript
5
star
35

nwc2ly.py

A Noteworthy Composer importer for Lilypond in Python
Python
4
star
36

three-raytracing-renderer

pure headless JS renderer (no canvas, no webgl dependencies) based off the original THREE.RaytracingRenderer
JavaScript
4
star
37

drone.js

JS / WebGL / WebVR Drone Simulator
JavaScript
4
star
38

node-ws-slow-client-buffer-leak

Testing Tool to Identify RSS buffer leaks from Slow Clients
JavaScript
3
star
39

bezierlights

Lights up with Bezier Curves
JavaScript
2
star
40

zz85.github.io

2
star
41

node-diarrhoea

fluid, fast, simple library for making ipc calls over uds on node.js
JavaScript
2
star
42

flowlab

2
star
43

airport-maps-experiment

HTML
2
star
44

a-boid-ballet

ballet of boids
JavaScript
2
star
45

midiviz

some simple music visualizations
HTML
2
star
46

quic-initial-degreaser

Clean up greasy Chromium Initial QUIC packets
Rust
2
star
47

fluidsynth-emscripten

Attempt to make Fluidsynth run in JS / Browsers with emscripten
C
1
star
48

about

about things i'm doing?
1
star
49

random-sketches

random sketches i make with js
HTML
1
star
50

tcc-trace

a TCP Congestion Control Tracing Tool
Rust
1
star