Skip to content

Commit

Permalink
Merge pull request #210 from flask-dashboard/development
Browse files Browse the repository at this point in the history
Development
  • Loading branch information
FlyingBird95 authored Feb 25, 2019
2 parents 56922b3 + 17b7317 commit 94e799f
Show file tree
Hide file tree
Showing 154 changed files with 3,461 additions and 4,033 deletions.
8 changes: 7 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@ python:
- '2.7'
- '3.5'
- '3.6'
# Enable 3.7 without globally enabling sudo and dist: xenial for other build jobs
matrix:
include:
- python: 3.7
dist: xenial
sudo: true
install:
- pip install codecov
script:
Expand All @@ -18,4 +24,4 @@ deploy:
distributions: sdist bdist_wheel
repo: flask-dashboard/Flask-MonitoringDashboard
branch: master
python: '3.6'
python: '3.7'
34 changes: 25 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
[![Py-version](https://img.shields.io/pypi/pyversions/flask_monitoringdashboard.svg)](https://img.shields.io/pypi/pyversions/flask_monitoringdashboard.svg)
[![Downloads](http://pepy.tech/badge/flask-monitoringdashboard)](http://pepy.tech/count/flask-monitoringdashboard)

Dashboard for automatic monitoring of Flask web-services.
A dashboard for automatic monitoring of Flask web-services.

The Flask Monitoring Dashboard is an extension that offers four main functionalities with little effort from the Flask developer:
The Flask Monitoring Dashboard is an extension for Flask applications that offers four main functionalities with little effort from the Flask developer:

- **Monitor the performance and utilization:**
The Dashboard allows you to see which endpoints process a lot of requests and how fast.
Expand All @@ -20,21 +20,28 @@ The Flask Monitoring Dashboard is an extension that offers four main functionali
endpoint are also merged together, the Dashboard provides an overview of which functions are used in
which endpoint.

- **Monitor your test coverage:**
The Dashboard allows you to find out which endpoints are covered by unit tests, allowing also for integration with Travis for automation purposes.
For more information, see [this file](http://flask-monitoringdashboard.readthedocs.io/en/latest/functionality.html#test-coverage-monitoring)

- **Collect extra information about outliers:**
Outliers are requests that take much longer to process than regular requests.
The Dashboard automatically detects that a request is an outlier and stores extra information about it (stack trace, request values, Request headers, Request environment).

- **Collect additional information about your Flask-application:**
Suppose you have an User-table and you want to know how many users are registered on your Flask-application.
Then, you can run the following query: 'SELECT Count(*) FROM USERS;'. But this is just annoying to do regularly.
Therefore, you can configure this in the Flask-MonitoringDashboard, which will provide you this information per day (or other time interval).


The dashboard is automatically added to your existing Flask application.
You can view the results by default using the default endpoint (this can be configured to another route):

[/dashboard](http://localhost:5000/dashboard)

For more advanced documentation, take a look at the information on [this site](http://flask-monitoringdashboard.readthedocs.io/en/latest/functionality.html).

## Live demo
To view a live deployment of the Flask-MonitoringDashboard, check [this site](https://flask-monitoringdashboard.herokuapp.com/).
Use the credentials u:`admin`, p:`admin` to log in.


## Installation
To install from source, download the source code, then run this:

Expand All @@ -52,11 +59,20 @@ Adding the extension to your Flask app is simple:

app = Flask(__name__)
dashboard.bind(app)

## Feedback
In order to improve our Flask-MonitoringDashboard, we would like to hear from you! Therefore, we made a questionnaire
with a few questions. Filling in this form takes less than 3 minutes. You can find the form [here](https://goo.gl/forms/IqRrjGDDXe44q5ZV2).

Alternatively, feel free to write to [our email-address](mailto:[email protected]).

## Documentation
For more advanced documentation, see [this site](http://flask-monitoringdashboard.readthedocs.io).
If you run into trouble migrating from version 1.X.X to version 2.0.0, this site also helps you solve this.
If you run into trouble migrating from version 1.X.X to version 2.0.0, this site will help you solve this too.

## Screenshots
![Screenshot 1](/docs/img/screenshot1.png)
![Screenshot 2](/docs/img/screenshot2.png)
![Screenshot 1](/docs/img/ss1.png)
![Screenshot 2](/docs/img/ss2.png)
![Screenshot 3](/docs/img/ss3.png)
![Screenshot 4](/docs/img/ss4.png)
![Screenshot 5](/docs/img/ss5.png)
14 changes: 13 additions & 1 deletion docs/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,19 @@ All notable changes to this project will be documented in this file.
This project adheres to `Semantic Versioning <http://semver.org/>`_.
Please note that the changes before version 1.10.0 have not been documented.

Unreleased
v2.1.0
----------
Changed

- Frontend is now using AngularJS
- Removed TestMonitor
- Added Custom graphs
- Fixed Issue #206
- Added support for Python 3.7
- Updated documentation
- Updated unit tests

v2.0.7
----------
Changed

Expand Down
14 changes: 7 additions & 7 deletions docs/configuration.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Configuration
=============
Once you have successfully installed the Flask-MonitoringDashboard using the instructions from
`this page <installation.html>`_, you can use the advanced features by correctly configuring the Dashboard.
`the installation page <installation.html>`_, you can use the advanced features by correctly configuring the Dashboard.

Using a configuration file
--------------------------
Expand All @@ -13,7 +13,7 @@ In order to configure the Dashboard with a configuration-file, you can use the f
dashboard.config.init_from(file='/<path to file>/config.cfg')
Thus, it becomes:
Your app then becomes:

.. code-block:: python
Expand Down Expand Up @@ -94,7 +94,7 @@ Dashboard
- **CUSTOM_LINK:** The Dashboard can be visited at localhost:5000/{{CUSTOM_LINK}}.

- **MONITOR_LEVEL**: The level for monitoring your endpoints. The default value is 3. For more information, see the
Rules page.
Overview page of the Dashboard.

- **OUTLIER_DETECTION_CONSTANT:** When the execution time is greater than :math:`constant * average`,
extra information is logged into the database. A default value for this variable is :math:`2.5`.
Expand All @@ -108,8 +108,7 @@ Dashboard
Authentication
~~~~~~~~~~~~~~

- **USERNAME** and **PASSWORD:** Must be used for logging into the Dashboard.
Thus both are required.
- **USERNAME** and **PASSWORD:** Must be used for logging into the Dashboard. Both are required.

- **GUEST_USERNAME** and **GUEST_PASSWORD:** A guest can only see the results, but cannot configure/download any data.

Expand Down Expand Up @@ -150,5 +149,6 @@ Visualization
What have you configured?
-------------------------
A lot of configuration options, but you might wonder what functionality is now supported in your Flask application?
Have a look at `this file <functionality.html>`_ to find the answer.
We've shown a bunch of configuration settings, but what features are now supported in your Flask
application and how are they related to the config options?
Have a look at `the detailed functionality page <functionality.html>`_ to find the answer.
Loading

0 comments on commit 94e799f

Please sign in to comment.