uwsgitop

top-like app for monitoring uWSGI instances

MIT License

Downloads
124.3K
Stars
496
Committers
21

uwsgitop

uwsgitop is a top-like command that uses the uWSGI Stats Server to monitor your uwsgi application.

To use uWSGI Stat Server simply use the stats option followed by a valid socket address, for example::

uwsgi --module myapp --socket :3030 --stats /tmp/stats.socket

To start monitoring your application with uwsgitop call it with the socket address like so::

uwsgitop /tmp/stats.socket

If you want the stats served over HTTP you will need to add the stats-http option in uWSGI::

uwsgi --module myapp --http :3030 --stats :3031 --stats-http

You'll now need to call uwsgitop as::

uwsgitop http://127.0.0.1:3031

Installation

::

pip install uwsgitop

Usage

To display async core statistics (e.g. when using gevent) or to switch between core statistics display mode, press a. To refresh the screen super fast press f, and to quit, press q.

+--------+---------------------------------------------------------------+ | Field | Description | +========+===============================================================+ | WID | Worker ID | +--------+---------------------------------------------------------------+ | % | Worker usage | +--------+---------------------------------------------------------------+ | PID | Worker PID | +--------+---------------------------------------------------------------+ | REQ | Number of requests the worker executed since last (re)spawn | +--------+---------------------------------------------------------------+ | RPS | Requests per second | +--------+---------------------------------------------------------------+ | EXC | Exceptions | +--------+---------------------------------------------------------------+ | SIG | Managed uwsgi signals | +--------+---------------------------------------------------------------+ | STATUS | Worker is busy or free to use? | +--------+---------------------------------------------------------------+ | AVG | Average request time | +--------+---------------------------------------------------------------+ | RSS | Worker RSS (Resident Set Size, see linux memory management) | +--------+---------------------------------------------------------------+ | VSZ | Worker VSZ (Virtual Memory Size, see linux memory management) | +--------+---------------------------------------------------------------+ | TX | How much data was transmitted by the worker | +--------+---------------------------------------------------------------+ | ReSpwn | Respawn count | +--------+---------------------------------------------------------------+ | HC | Harakiri count | +--------+---------------------------------------------------------------+ | RunT | How long the worker has been running | +--------+---------------------------------------------------------------+ |LastSpwn| Last spawn time | +--------+---------------------------------------------------------------+

Colors

Lines would be displayed in different colors:

  • default console text color, if the worker is idle
  • green, if the worker is busy
  • magenta, if the worker is in cheap mode
  • yellow, if the worker is handling an uwsgi signal
  • blue, if the worker is suspended

Remember to enable memory-report in your uwsgi configuration to see how much memory resources your uwsgi processes are consuming.

Further Reading

For more info on uWSGI Stats Server see https://uwsgi-docs.readthedocs.io/en/latest/StatsServer.html