Construct realtime dashboards with Cubism

Visualizing time series is always a good technique to represent any time-depended data: stock price or market price, server loading rate and so on. Cubism.js will do the job.
It’s a D3 plugin (Data-Driven Documents, allows you to bind arbitrary data to a Document Object Model (DOM), and then apply data-driven transformations to the document) with nice features. Use Cubism to construct better realtime dashboards, pulling data from Graphite, Cube and other sources.

Features:

  • Scalable
  • Effective
  • Flexible

Cubism fetches time series data incrementally: after the initial display, Cubism reduces server load by polling only the most recent values. Cubism renders incrementally, too, using Canvas to shift charts one pixel to the left. This approach lets Cubism scale easily to hundreds of metrics updating every ten seconds! Despite asynchronous fetching, rendering is synchronized so that charts update simultaneously, further improving performance and readability.

Cubism also scales in terms of perception: small multiples aligned by time facilitate rapid comparison. Cubism’s horizon charts make better use of vertical space than standard area charts, allowing you to see many more metrics at-a-glance and increasing the likelihood of discovery. If you compress a 120-pixel tall area chart to 30 pixels, you lose 75% of the resolution and it becomes harder to see small changes:

Cubism is data-source agnostic. It has built-in support for Graphite and Cube, and can be readily extended to fetch data from other sources. Client-side metric arithmetic allows further flexibility by combining metrics from multiple sources. Cubism’s modular components are designed for extensibility. You can add new chart types and modes of interaction, too. Cubism builds on D3, making it highly customizable via CSS and JavaScript.

Cubism is available under the Apache License on GitHub.
Requirements: D3.js
Compatibility: All Modern Browsers
Website: http://square.github.com/cubism/
Download: https://github.com/square/cubism