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.
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
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.