gunicorn/docs/source/instrumentation.rst
2018-02-19 13:55:21 +02:00

37 lines
1.3 KiB
ReStructuredText

.. _instrumentation:
===============
Instrumentation
===============
.. versionadded:: 19.1
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:
.. code-block:: bash
$ gunicorn --statsd-host=localhost:8125 --statsd-prefix=service.app ...
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
See the statsd-host_ setting for more information.
.. _statsd-host: settings.html#statsd-host
.. _statsD: https://github.com/etsy/statsd