All Projects → koudelka → Visualixir

koudelka / Visualixir

Licence: mit
A process/message visualizer for BEAM nodes.💪👁

Programming Languages

elixir
2628 projects
erlang
1774 projects

Projects that are alternatives of or similar to Visualixir

Beam
Apache Beam is a unified programming model for Batch and Streaming
Stars: ✭ 5,149 (+340.46%)
Mutual labels:  beam
Interactivegraph
InteractiveGraph provides a web-based interactive visualization and analysis framework for large graph data, which may come from a GSON file, or an online Neo4j graph database. InteractiveGraph also provides applications built on the framework: GraphNavigator, GraphExplorer and RelFinder.
Stars: ✭ 730 (-37.55%)
Mutual labels:  visualizer
Html5 audio visualizer
An audio spectrum visualizer built with HTML5 Audio API
Stars: ✭ 1,025 (-12.32%)
Mutual labels:  visualizer
Erlangpl
Tool for developers working with systems running on the Erlang VM (BEAM). It helps with performance analysis.
Stars: ✭ 547 (-53.21%)
Mutual labels:  beam
Nbminer
NVIDIA & AMD GPU Miner for ETH, RVN, GRIN, BEAM, CFX, AE, SERO
Stars: ✭ 568 (-51.41%)
Mutual labels:  beam
Androidequalizer
Stars: ✭ 18 (-98.46%)
Mutual labels:  visualizer
Android Audio Visualizer
🎼 🎹 🎵 Audio visualisation for android MediaPlayer 🔉
Stars: ✭ 468 (-59.97%)
Mutual labels:  visualizer
Fountain Of Colors
Music visualizer for Rainmeter
Stars: ✭ 65 (-94.44%)
Mutual labels:  visualizer
Depth
Visualize Go Dependency Trees
Stars: ✭ 590 (-49.53%)
Mutual labels:  visualizer
Soundvisualizer
🎶 Enjoy music with your eyes!
Stars: ✭ 44 (-96.24%)
Mutual labels:  visualizer
Monstercat Visualizer
A real time audio visualizer for Rainmeter similar to the ones used in the Monstercat videos.
Stars: ✭ 571 (-51.15%)
Mutual labels:  visualizer
Audio Visualizer Android
🎵 [Android Library] A light-weight and easy-to-use Audio Visualizer for Android.
Stars: ✭ 581 (-50.3%)
Mutual labels:  visualizer
Sudoku Gui
Simple Sudoku Game built on Pygame as a backtracking algorithm visualizer. Credits to TechWithTim for the idea.
Stars: ✭ 29 (-97.52%)
Mutual labels:  visualizer
Rubrowser
a ruby code dependency graph interactive visualizer
Stars: ✭ 532 (-54.49%)
Mutual labels:  visualizer
Glmviz
A high framerate, fully configurable OpenGL music visualizer
Stars: ✭ 56 (-95.21%)
Mutual labels:  visualizer
Seegit
SeeGit - The Git Repository Visualizer
Stars: ✭ 483 (-58.68%)
Mutual labels:  visualizer
Candle
GRBL controller application with G-Code visualizer written in Qt.
Stars: ✭ 796 (-31.91%)
Mutual labels:  visualizer
Unimic
A wrapper for Unity's Microphone class.
Stars: ✭ 65 (-94.44%)
Mutual labels:  visualizer
Traceshark
This is a tool for Linux kernel ftrace and perf events visualization
Stars: ✭ 63 (-94.61%)
Mutual labels:  visualizer
Gvpm
Gradient-domain Volumetric Photon Density Estimation, SIGGRAPH 2018
Stars: ✭ 32 (-97.26%)
Mutual labels:  beam

Visualixir

Visualixir is a toy visualizer for BEAM nodes, written in Elixir + Phoenix + d3, with live message sequence charts.

It's largely intended as a teaching tool, to give newer BEAM programmers a look into the process ecosystem living inside their nodes. However, it may prove of some amusement/use to more experienced folks (it's kinda neat to trace iex and the io system).

Huge gifs are worth a thousand words:

Cluster Select Cluster Tour

Msg Seq Msg Seq 2

Getting Going

  1. Clone this repository.
  2. Compile: mix deps.get && mix compile && cd assets && npm install && cd -
  3. Start 'er up: elixir --sname visualixir -S mix phx.server
  4. Navigate to the GUI

If you want to visualize other BEAM nodes, you'll need to start them up with the --sname <unique_name_here> option.

I suggest you use Chrome for Visualixir, Safari and Firefox's SVG performance seems to be lacking. :(

There are a couple example modules included, SingleNodePingPong and MultiNodePingPong. Additionally, there's a Cluster module to start up additional :slave nodes.

Usage

Selecting Nodes

On the upper left of the terrible GUI is a list of nodes that Visualixir curently knows about, including itself. You can click on a node's name to visualize it, or you can add a new node by entering it in the text box.

Moving Around

Drag the background to pan around.

Move processes around and pin them down by dragging and dropping. To un-pin, double click.

Zoom by scrolling (mousewheel or two-finger swipe).

Message Tracing

Option-dragging (alt-dragging), will open a new "conversation", you can drop a set of pids into the upper left box to start tracing, you should see messages they send/receive in the adjoining box. Its outline will change to red to remind you that you're tracing it. You can click the Stop Msg Tracing button to halt all message tracing.

The live message sequence charts have a configurable fade time, but there's no GUI for it yet, see web/static/js/message_sequence.js

The charting library is here, and it'd love some pull requests. <3

Warning

Do not run Visualixir on production nodes, seriously. I've tried to make it somewhat safe, but I suspect you can get into some bad message-tracing scenarios that'll compromise your node.

Caveats

This a prototype, obviously, the code is a steaming pile of garbage. Visualixir is largely intended to be a playground for screwing around with visualization ideas. I'd love to see what folks come up with, PR's are gladly accepted! 💕 (the GUI needs a lot of help)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].