Package: lemonadefashion-Flask-MonitoringDashboard
THIS IS A FORK OF THE ORIGINAL WITH MINOR CHANGES!Flask Monitoring DashboardA dashboard for automatic monitoring of Flask (http://flask.pocoo.org/) web-services.Key FeaturesThe 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.
Additionally, it provides information about the evolving performance of an endpoint throughout different versions if you’re using git.Profile requests and endpoints:The execution path of every request is tracked and stored into the database. This allows you to gain
insight over which functions in your code take the most time to execute. Since all requests for an
endpoint are also merged together, the Dashboard provides an overview of which functions are used in
which endpoint.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):http://localhost:5000/dashboardFor more advanced documentation, take a look at the information
onthis siteHow to useInstallationTo install from source, download the source code, then run this:python setup.py installOr install with pip:pip install lemonadefashion_flask_monitoringdashboardSetupAdding the extension to your Flask app is simple:from flask import Flask
import lemonadefashion_flask_monitoringdashboard as dashboardapp = Flask(__name__)
dashboard.bind(app)Live DemoTo view a live deployment of the Flask-MonitoringDashboard,check this siteUse the credentials u:admin, p:adminto log in.FeedbackIn 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 formhere.Alternatively, feel free to write toour email-address.DocumentationFor more advanced documentation,see this siteIf you run into trouble migrating from version 1.X.X to version 2.0.0, this site will help you solve this too.
The migration from 2.X.X to 3.0.0 should be easier.LicenseThis project is licensed under the MIT License - see the LICENSE file for details.Change LogAll notable changes to this project will be documented in this file.
This project adheres toSemantic Versioning.
Please note that the changes before version 1.10.0 have not been documented.v3.1.0ChangedAdded support for Python 3.8Started using pytest instead of python’s unittestStarted using Webpack for frontend packagingImproved reportsMoved to Github Actions from Travis for CI/CDImproved docstringsVarious bug fixesv3.0.9ChangedFixed upgrade message bugFixed Heroku deploymentv3.0.8ChangedFixed the changelog; functionality is the same as 3.0.7 :)v3.0.7ChangedAdded a first version of the Reporting functionalityImproved usability of the overview tableFixed the issue with some table columns being sorted as text as opposed to numbersA few other bug fixesv3.0.6ChangedRemoved profiler feature from monitoring level 2Added outlier detection feature to monitoring level 3Configurable profiler sampling period, with 5 ms defaultImplemented an in-memory cache for performance improvementsv3.0.0ChangedTracking also status codesDisplay times as numbers to make them sortableAdd leading slash to blueprint pathsAdded status codes with corresponding viewsv2.1.1ChangedDefault monitoring level is now 1Fixed bug causing config file not being parsedMonitoring level can be set from the ‘detail’ sectionImproved READMEv2.1.0ChangedFrontend is now using AngularJSRemoved TestMonitorAdded Custom graphsFixed Issue #206Added support for Python 3.7Updated documentationUpdated unit testsv2.0.7ChangedFixed Issue #174Fixed issue with profiler not going into codeImplemented a Sunburst visualization of the Grouped ProfilerImproved test coverageImproved python-docAdded functionality to download the outlier dataDropped support for Python 3.3 and 3.4v2.0.0ChangedAdded a configuration option to prefix a table in the databaseOptimize queries, such that viewing data is fasterUpdated database schemeImplemented functionality to customize time window of graphsImplemented a profiler for Request profilingImplemented a profiler for Endpoint profilingRefactored current code, which improves readabilityRefactoring of Test-Monitoring pageIdentify testRun by Travis build numberv1.13.0ChangedAdded boxplot of CPU loadsUpdated naming scheme of all graphsImplemented two configuration options: the local timezone and the option to automatically monitor new endpointsUpdated the Test-Monitoring initializationUpdated Database support for MySQLv1.12.0ChangedRemoved two graphs: hits per hour and execution time per hourNew template designRefactored backhand of the codeUpdated Bootstrap 3.0 to 4.0Setup of Code coveragev1.11.0ChangedAdded new graph: Version usageAdded column (Hits in past 7 days) in Measurements OverviewFixed bug with configurationChanged rows and column in outlier-tableAdded TODO ListUpdated functionality to retrieve the stacktrace of an OutlierFixed bug with white colors from the config optionv1.10.0ChangedAdded security for automatic endpoint-data retrieval.Added test for export_data-endpointsAdded MIT License.Added documentation