Permalink
46b7001 Sep 8, 2015
@berkerpeksag @tnir
34 lines (24 sloc) 1.17 KB

Instrumentation

Gunicorn provides an optional instrumentation of the arbiter and workers using the statsD protocol over UDP. Thanks to the gunicorn.instrument.statsd module, Gunicorn becomes a statsD client. The use of UDP cleanly isolates Gunicorn from the receiving end of the statsD metrics so that instrumentation does not cause Gunicorn to be held up by a slow statsD consumer.

To use statsD, just tell Gunicorn where the statsD server is:

$ gunicorn --statsd-host=localhost:8125 ...

The Statsd logger overrides gunicorn.glogging.Logger to track all requests. The following metrics are generated:

  • gunicorn.requests: request rate per second
  • gunicorn.request.duration: histogram of request duration (in millisecond)
  • gunicorn.workers: number of workers managed by the arbiter (gauge)
  • gunicorn.log.critical: rate of critical log messages
  • gunicorn.log.error: rate of error log messages
  • gunicorn.log.warning: rate of warning log messages
  • gunicorn.log.exception: rate of exceptional log messages