Galaxy Performance Tracking¶
Tracking performance over time and identifying slow queries in your Galaxy can be an extremely important thing to do, especially for larger Galaxies. A more in-depth tutorial is available at the Galaxy Training Network.
Most performance tracking requires sending metrics to a metrics collection server such as StatsD. This document assumes you have already deployed StatsD.
There is some built-in Gunicorn support for performance logging. You can send Gunicorn’s internal metrics to a StatsD server by setting the –statsd-host and –statsd-prefix command line options for Gunicorn in the gravity section of galaxy.yml:
gravity: #... gunicorn: extra_args: '--statsd-host 127.0.0.1:8125 --statsd-prefix=gunicorn'
API / Route Timing Statistics¶
Galaxy provides middleware to automatically log the amount of time controllers take to execute and to send that data to a stats server. Using the stats server of your choice, you can calculate the relevant statistics to ensure that your Galaxy server is performing as expected.
The statsD configuration requires setting the following options in the
galaxy section of
galaxy: #... statsd_host: 127.0.0.1 statsd_port: 8125 statsd_prefix: galaxy
Most people visualize the statistics using something like Grafana: