Cube is a system for collecting timestamped events and deriving metrics. By collecting events rather than metrics, Cube lets you compute aggregate statistics post hoc. It also enables richer analysis, such as quantiles and histograms of arbitrary event sets. Cube is built on MongoDB and available under the Apache License.
Want to learn more? See the wiki.
Cube is not under active development, maintenance or support by Square (or by its original author Mike Bostock). It has been deprecated internally for over a year. We keep it running for historical interest because it powers some interesting visualizations, but new production systems have replaced it for analytics purposes.
Infochimps worked on a fork of Cube which diverged slightly from the Square version. Github user Marsup has been working to merge the two versions with some success, but there are no plans to complete the merge or publish new versions under the original Square repository or npm package.
Please use the cube-user list on Google Groups for all further discussion of the Cube project.
The two services can be started by systemd:
[Unit] Description=cube-collector Wants=mongod.service [Install] WantedBy=multi-user.target [Service] ExecStart=/usr/bin/node /data/square-cube/cube/bin/redgate_collector.js User=cube Group=cube SyslogIdentifier=cube WorkingDirectory=/data/square-cube/cube RestartSec=5 Restart=on-failure
[Unit] Description=cube-evaluator Wants=mongod.service [Install] WantedBy=multi-user.target [Service] ExecStart=/usr/bin/node /data/square-cube/cube/bin/redgate_evaluator.js User=cube Group=cube SyslogIdentifier=cube WorkingDirectory=/data/square-cube/cube RestartSec=5 Restart=on-failure