{"id":13421666,"url":"https://github.com/flask-dashboard/Flask-MonitoringDashboard","last_synced_at":"2025-03-15T10:31:20.091Z","repository":{"id":37561786,"uuid":"87939708","full_name":"flask-dashboard/Flask-MonitoringDashboard","owner":"flask-dashboard","description":"Automatically monitor the evolving performance of Flask/Python web services.","archived":false,"fork":false,"pushed_at":"2025-03-10T17:45:00.000Z","size":15844,"stargazers_count":786,"open_issues_count":62,"forks_count":161,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-03-10T18:46:37.558Z","etag":null,"topics":["dashboard","flask","flask-extension","flask-monitoring-dashboard","monitoring","profiler","python"],"latest_commit_sha":null,"homepage":"http://flask-monitoringdashboard.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flask-dashboard.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-04-11T13:50:14.000Z","updated_at":"2025-03-05T06:37:35.000Z","dependencies_parsed_at":"2023-12-11T14:37:49.142Z","dependency_job_id":"6001eb7e-cd4e-4375-b6e0-11209859a07e","html_url":"https://github.com/flask-dashboard/Flask-MonitoringDashboard","commit_stats":{"total_commits":995,"total_committers":34,"mean_commits":"29.264705882352942","dds":0.5648241206030151,"last_synced_commit":"7630227e9f961584a7b61d1f7c237789bcaced59"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flask-dashboard%2FFlask-MonitoringDashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flask-dashboard%2FFlask-MonitoringDashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flask-dashboard%2FFlask-MonitoringDashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flask-dashboard%2FFlask-MonitoringDashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flask-dashboard","download_url":"https://codeload.github.com/flask-dashboard/Flask-MonitoringDashboard/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243718928,"owners_count":20336590,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dashboard","flask","flask-extension","flask-monitoring-dashboard","monitoring","profiler","python"],"created_at":"2024-07-30T23:00:27.904Z","updated_at":"2025-03-15T10:31:20.085Z","avatar_url":"https://github.com/flask-dashboard.png","language":"Python","funding_links":[],"categories":["Python","HarmonyOS","Monitoring","Development (Debugging/Testing/Documentation)","CSS"],"sub_categories":["Windows Manager"],"readme":"\u003ch1 align=\"center\"\u003e\n    \u003cimg src=\"/docs/img/header.png\" width=\"600\"\u003e\n    \u003cbr\u003e\n    Flask Monitoring Dashboard \n    \u003cbr\u003e\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\nA dashboard for automatic monitoring of \u003ca href=\"https://flask.palletsprojects.com/\" target=\"_blank\"\u003eFlask\u003c/a\u003e web-services.\n\u003c/p\u003e\n\n\u003cspan align=\"center\"\u003e\n\n[![Continous Integration](https://github.com/flask-dashboard/Flask-MonitoringDashboard/actions/workflows/python-test.yml/badge.svg)](https://github.com/flask-dashboard/Flask-MonitoringDashboard/actions/workflows/python-test.yml)\n\n[![Documentation Status](https://readthedocs.org/projects/flask-monitoringdashboard/badge/?version=latest)](http://flask-monitoringdashboard.readthedocs.io/en/latest/?badge=latest)\n[![codecov](https://codecov.io/gh/flask-dashboard/Flask-MonitoringDashboard/branch/master/graph/badge.svg)](https://codecov.io/gh/flask-dashboard/Flask-MonitoringDashboard)\n[![PyPI version](https://badge.fury.io/py/Flask-MonitoringDashboard.svg)](https://badge.fury.io/py/Flask-MonitoringDashboard)\n[![Py-version](https://img.shields.io/pypi/pyversions/flask_monitoringdashboard.svg)](https://img.shields.io/pypi/pyversions/flask_monitoringdashboard.svg)\n[![Downloads](http://pepy.tech/badge/flask-monitoringdashboard)](http://pepy.tech/count/flask-monitoringdashboard)\n[![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Monitor%20your%20Flask%20application%20with%20the%20Flask%20Monitoring%20Dashboard\u0026url=https://github.com/flask-dashboard/Flask-MonitoringDashboard\u0026hashtags=fmd,flask,python)\n\n\u003c/span\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#key-features\"\u003eKey Features\u003c/a\u003e •\n  \u003ca href=\"#how-to-use\"\u003eHow to use\u003c/a\u003e •\n  \u003ca href=\"#live-demo\"\u003eLive Demo\u003c/a\u003e •\n  \u003ca href=\"#feedback\"\u003eFeedback\u003c/a\u003e •\n  \u003ca href=\"#documentation\"\u003eDocumentation\u003c/a\u003e •\n  \u003ca href=\"#screenshots\"\u003eScreenshots\u003c/a\u003e •\n  \u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\n\u003c/p\u003e\n\n![gif](/docs/img/fmd_video.gif)\n\n## Motivation\n\n\u003cimg width=\"592\" alt=\"image\" src=\"https://user-images.githubusercontent.com/464519/210054732-bf97cfaa-fb66-4a9f-affb-7004f531b34c.png\"\u003e\n\n\n## Key Features\nThe Flask Monitoring Dashboard is an extension for Flask applications that offers four main functionalities with little effort from the Flask developer:\n\n- **Monitor the performance and utilization:**\n  The Dashboard allows you to see which endpoints process a lot of requests and how fast. \n  Additionally, it provides information about the evolving performance of an endpoint throughout different versions if you're using git.\n\n- **Profile requests and endpoints:**\n  The execution path of every request is tracked and stored into the database. This allows you to gain\n  insight over which functions in your code take the most time to execute. Since all requests for an \n  endpoint are also merged together, the Dashboard provides an overview of which functions are used in\n  which endpoint.\n\n- **Collect extra information about outliers:**\n  Outliers are requests that take much longer to process than regular requests. \n  The Dashboard automatically detects that a request is an outlier and stores extra information about it (stack trace, request values, Request headers, Request environment).\n\n- **Collect additional information about your Flask-application:**\n  Suppose you have an User-table and you want to know how many users are registered on your Flask-application.\n  Then, you can run the following query: 'SELECT Count(*) FROM USERS;'. But this is just annoying to do regularly.\n  Therefore, you can configure this in the Flask-MonitoringDashboard, which will provide you this information per day (or other time interval).\n  \n  \nThe dashboard is automatically added to your existing Flask application.\nYou can view the results by default using the default endpoint (this can be configured to another route):\n\n   [/dashboard](http://localhost:5000/dashboard)\n\nFor more advanced documentation, take a look at the information on [this site](http://flask-monitoringdashboard.readthedocs.io/en/latest/functionality.html).\n\n\n## How to use\n\n#### Installation\nTo install from source, download the source code, then run this:\n\n    python setup.py install\n\nOr install with pip:\n    \n    pip install flask_monitoringdashboard\n    \n#### Setup\nAdding the extension to your Flask app is simple:\n\n    from flask import Flask\n    import flask_monitoringdashboard as dashboard\n\n    app = Flask(__name__)\n    \n    @app.route(\"/test\")\n    def test():\n\t    return 'ok'\n    \n    dashboard.bind(app)\n    app.run()\n\n## Live Demo\nTo view a live deployment of the Flask-MonitoringDashboard, check [this site](https://fmd-master.herokuapp.com/).\nUse the credentials u:`admin`, p:`admin` to log in.\n\n## Feedback\nIn order to improve our Flask-MonitoringDashboard, we would like to hear from you! Therefore, we made a questionnaire\nwith a few questions. Filling in this form takes less than 3 minutes. You can find the form [here](https://goo.gl/forms/IqRrjGDDXe44q5ZV2).\n\nAlternatively, feel free to write to [our email-address](mailto:flask.monitoringdashboard@gmail.com).\n \n## Documentation\nFor more advanced documentation, see [this site](http://flask-monitoringdashboard.readthedocs.io).\nIf you run into trouble migrating from version 1.X.X to version 2.0.0, this site will help you solve this too.\n\n## Screenshots\n![Screenshot 1](/docs/img/ss1.png)\n![Screenshot 2](/docs/img/ss2.png)\n![Screenshot 3](/docs/img/ss3.png)\n![Screenshot 4](/docs/img/ss4.png)\n![Screenshot 5](/docs/img/ss5.png)\n\n## Development\nIf you like our project, and willing to contribute, you can get started by cloning it and then running the following command:\n\n    . ./config/install.sh\n\nFor more information, check [this page](https://flask-monitoringdashboard.readthedocs.io/en/latest/developing.html).\n\n## License\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflask-dashboard%2FFlask-MonitoringDashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflask-dashboard%2FFlask-MonitoringDashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflask-dashboard%2FFlask-MonitoringDashboard/lists"}