Auto-tools/Projects/Alerts

Datazilla Alerting System

The Datazilla Alerting System, also known as dzAlerts. Is a daemon that periodically inspects the Talos, B2G, and Eideticker performance results and generates alerts when there is a statistical regression in performance.

Collaboration

Features and development are ongoing

  • Signal from Noise meeting (notes on etherpad)
  • IRC: #ateam@irc.mozilla.org
  • email: klahnakoski@mozilla.com

Objective

dzAlerts' objective is to provide high quality, and detailed alerts on performance regressions.

History

dzAlerts started as code inside Datazilla, hence the name. A few design changes were made during development:

  • The alerting code was distinct from the Datazilla code in that it was designed as stand alone deamons, with little integration with the main UI-centric code.
  • Integrating the alerts data access into the existing Datazilla database access pattern required too much boilerplate code that required additional maintenance as the project evolved.
  • The Datazilla database schema was not designed for pulling long time series on individual tests in a performant way.
  • The release schedules were different.

dzAlerts is now completely separate, and uses an ElasticSearch cluster to pull slices of the test results data cube. It maintains enough information about the alerts so it can provide links to the Datazilla UI.

Nomenclature

The nomenclature used by dzAlerts is a little different than the surrounding applications it deals with. This is to be consistent with the definitions of the same name overall, and to provide space for naming the fine features dzAlerts has visibility to, but are invisible to other systems.

  • Test Suite - or "suite" for short, is a set of bundled tests. All the "tests" referred to by Datazilla and Talos are actually bundles of individual tests. Dromeao_css, kraken, tp5o, and tscrollx are examples of test suites
  • Test - a single test responsible for testing a feature. Dromaeo_css has 6 tests called dojo.html, ext.html, jquery.html, mootools.html, prototype.html and yui.html. These can also be called "pages", or "page tests".
  • Sub-Test - A test should be the finest grain, but unfortunately some tests bundle yet-deeper-but-unnamed tests into a single result. These are ETLed into normal tests for dzAlerts to digest, but we need a name for these in the wild.

General Design


Window Functions

Code