![]() ![]() Implemented a Sunburst visualization of the Grouped ProfilerĪdded functionality to download the outlier dataĪdded a configuration option to prefix a table in the database Monitoring level can be set from the ‘detail’ sectionįixed issue with profiler not going into code Implemented an in-memory cache for performance improvementsĭisplay times as numbers to make them sortableĪdded status codes with corresponding viewsįixed bug causing config file not being parsed Removed profiler feature from monitoring level 2Īdded outlier detection feature to monitoring level 3Ĭonfigurable profiler sampling period, with 5 ms default Moved to Github Actions from Travis for CI/CDįixed the changelog functionality is the same as 3.0.7 :)Īdded a first version of the Reporting functionalityįixed the issue with some table columns being sorted as text as opposed to numbers Started using Webpack for frontend packaging Started using pytest instead of python’s unittest Upgraded multiple frontend packages for enhanced security and performance.Ĭompatibility with Flask>=2.x Removed the call to before_app_first_request and replaced it with record_once as per the PR of ). Please note that the changes before version 1.10.0 have not been documented. This project adheres to Semantic Versioning. Change LogĪll notable changes to this project will be documented in this file. ![]() This project is licensed under the MIT License - see the LICENSE file for details. The migration from 2.X.X to 3.0.0 should be easier. If you run into trouble migrating from version 1.X.X to version 2.0.0, this site will help you solve this too. Documentationįor more advanced documentation, see this site You can find the form here.Īlternatively, feel free to write to our email-address. Filling in this form takes less than 3 minutes. In order to improve our Flask-MonitoringDashboard, we would like to hear from you! Therefore, we made a questionnaire Use the credentials u: admin, p: admin to log in. To view a live deployment of the Flask-MonitoringDashboard, check this site Import flask_monitoringdashboard as dashboard Pip install flask_monitoringdashboard SetupĪdding the extension to your Flask app is simple: To install from source, download the source code, then run this: For more advanced documentation, take a look at the information You can view the results by default using the default endpoint (this can be configured to another route): The dashboard is automatically added to your existing Flask application. Therefore, you can configure this in the Flask-MonitoringDashboard, which will provide you this information per day (or other time interval). But this is just annoying to do regularly. Then, you can run the following query: ‘SELECT Count(*) FROM USERS ’. Suppose you have an User-table and you want to know how many users are registered on your Flask-application. The Dashboard automatically detects that a request is an outlier and stores extra information about it (stack trace, request values, Request headers, Request environment).Ĭollect additional information about your Flask-application: Outliers are requests that take much longer to process than regular requests. Since all requests for anĮndpoint are also merged together, the Dashboard provides an overview of which functions are used inĬollect extra information about outliers: Insight over which functions in your code take the most time to execute. The execution path of every request is tracked and stored into the database. The Dashboard allows you to see which endpoints process a lot of requests and how fast.Īdditionally, it provides information about the evolving performance of an endpoint throughout different versions if you’re using git. The Flask Monitoring Dashboard is an extension for Flask applications that offers four main functionalities with little effort from the Flask developer: A dashboard for automatic monitoring of Flask ( ) web-services. append ( args ) return None except StopIteration : return api. Simple append details to the memory object expect ( detail_parser ) def post ( self, item_id : int ) -> None : """ value, "Item not found" ) def _lookup ( self, item_id ): return next ( ( item for item in memory_object if item = item_id ), ) api. _lookup ( item_id ) except StopIteration : return api. marshal_with ( item_model ) def get ( self, item_id : int ) -> Item : """ route ( "/" ) class ItemApi ( Resource ): """ĪPI for handling the single Item resource ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |