MiniMot
=======
A miniature performance monitoring application.
The principle is based on `Graham Dumpleton blog's post
<http://blog.dscpl.com.au/2015/05/monitoring-response-content-from-wsgi.html>`_.
There are two components to this project:
* a client: the WSGI middleware acting on the requests of your WSGI app
* a server: an async service/API receiving and exposing the stats from the
WSGI app
Development
-----------
If you wish to run the server side of application.
* Install virtualenvwrapper
::
dnf install python-virtualenvwrapper
* Create the virtualenv
::
mkvirtualenv -p python3 minimot
* Install the dependencies
::
pip3 install -r requirements.txt
* Create the database
::
python3 createdb.py
* Start the server
::
./minimot-run
* Generate some fake metadata
::
python3 generate_data.py
.. note: This project is python3 only
Architecture
------------
The architecture of the project looks a little bit like this
::
Without MiniMot + With MiniMot
|
|
+------------+ | +------------+
| | | | |
| Client | | | Client |
| | | | |
+-----+------+ | +-----+------+
| | |
| | |
| | +-----v-----+ Redis +---------------+ POST +------------------+
| | | MiniMot +---------> Async Service +--------> MiniMot Server |
| | +-----+-----+ +---------------+ +------------------+
| | |
| | |
v | |
+------+-------+ | +------v-------+
| | | | |
| WSGI APP | | | WSGI APP |
| | | | |
+--------------+ | +--------------+
|
|
|
+