Wiki

Clone wiki

saturnalia / Goals

Goals

Aggregate, store, and usefully display metrics.

  • Defining Use Case:
    • Cost should never be a concern when adding a new metric.
  • UI:
    • Exploratory - The user can search, compare, and zoom in on interesting anomalies.
    • Responsive - The whole system (ui/storage/retrieval) database is low latency.
    • Interactive - Users can share specific reports, plots, and settings with a simple permanent URL.
  • Scaling: FIXME: Are these roughly in descending priority order?
    • Many Metrics - one million distinct metrics per node in the collection cluster.
    • Complete History - never delete/forget metrics; store all data for all time. (-in contrast to RRDtool)
    • Horizontally Scalable - if your Saturnalia hosts are falling over, it should be simple to add new ones to properly alleviate load.
    • High Frequency - handle high-frequency metrics, such as once per second.
  • Robustness: FIXME: Are these roughly in descending priority order?
    • Data Integrity - Never record incorrect data.
    • Crash-Only - All components are built to expect their own spontaneous failure. See Crash-Only Design.
    • Defensive Decoupling - A component should continue to operate even when other components have failed.
    • Failover - Even when a component fails, the functioning components should accommodate the resulting changes in their own load for some amount of time.
    • High Availability - Accept new metrics even when sub components are unresponsive. FIXME: Is this a goal? Does this conflict with other robustness goals?

Updated

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.