Cube collects timestamped events and derives metrics, enabling later aggregation such as quantiles and histograms.

square.github.io/cube
Cube homepage screenshot

About Cube

Cube is a system for collecting timestamped events and deriving metrics. Each event is a JSON object with a type, a time, and arbitrary data. Cube's collector receives events over UDP, HTTP POST, or WebSockets and stores them in MongoDB. Because raw events are kept, aggregate statistics such as quantiles and histograms can be computed after collection rather than fixed in advance.

Cube has its own query language for retrieving events and computing metrics, grouped by time and reduced to aggregate values. It caches computed metrics and uses pyramidal aggregation for most metrics, which the homepage says greatly improves performance. The homepage notes that Cube works with Cubism, a JavaScript library for visualizing time series. Pricing is unknown.

Key features

  • Collects JSON events with a type, time, and arbitrary data
  • Accepts events over UDP, HTTP POST, or WebSockets
  • Built-in support for receiving events from collectd
  • Query language for filtering events by field values
  • Streams events in realtime over WebSockets to multiple listeners
  • Computes metrics such as sums, quantiles, and histograms from stored events
Best for: Developers who want to store raw timestamped events and compute metrics from them later, including for dashboards or alerts.
Good for
  • Keeping raw events allows aggregate statistics to be computed after collection.
  • Cached metrics and pyramidal aggregation can avoid a full event scan for many queries.
Watch out for
  • Cube is built on MongoDB, so MongoDB is part of the required setup.
  • Pyramidal aggregation is used for most metrics, not all of them.

Cube at a glance

Type
Website
Pricing
Not confirmed. Check the site
Platforms
Web
Open source
Not stated
Last checked
Oct 6, 2026 · Online when checked
Listed
Oct 5, 2026

Cube alternatives

Tools and sites you could use instead, ranked by how closely they match.

All 24 alternatives

Popular in Developer Tools

Well-known listings from the same topic.

All 423

Cube FAQ

How can events be sent to Cube?
Events can be sent via UDP, HTTP POST, or WebSockets. Cube also has built-in support for receiving events from collectd.
How are events retrieved?
Cube supports both HTTP GET and WebSockets for retrieving events. WebSockets can be used to stream events in realtime.
Can an earlier event be updated?
Yes. Events can include an id attribute, which allows the data associated with an earlier event to be updated.
Is something wrong or out of date?

Tell us and an editor will check it.

Own this website?

Claim the listing and suggest updates yourself. An editor checks every claim first.

Claim this listing