Skip to content
This repository has been archived by the owner on Feb 4, 2021. It is now read-only.

mozilla/medusa

Repository files navigation

Medusa

Medusa (also known as Telemetry Alerts) is a tracking, alerting, and visualization service for regressions in Telemetry. It aims to provide a unified frontend for managing regression alerts.

Medusa does not perform detection of regressions by itself; it exposes an API that detectors - services that detect regressions - can post to. For example, Cerberus is a detector for histogram regressions.

Some examples of Cerberus, an automatic histogram regression detector.

Medusa is written in Clojure/Clojurescript, and uses Ring with React/Om for the web interface.

Development and deployment

First, make sure you have Vagrant and Ansible.

To start hacking on your local machine:

vagrant up
vagrant ssh

To provision resources and deploy medusa on AWS, first edit ansible/provision.yml, replacing the vaue of key_name with your own key, then:

ansible-playbook ansible/provision.yml -i ansible/inventory

To run tests, run lein test.

To deploy changes on production:

git pull --ff-only ...
sudo lein cljsbuild once release
sudo supervisorctl
supervisor> restart medusa

Usage

To launch the server simply yield lein run. Note that you must have a recent version of leiningen installed (> 2); some distributions ship with earlier versions.