https://github.com/fernandobugni/flask-stats
Flask-stats is a simple plugin that allows you to have important information and statistics for the endpoints that you have
https://github.com/fernandobugni/flask-stats
api-analytics api-rest flask http-server python
Last synced: about 1 month ago
JSON representation
Flask-stats is a simple plugin that allows you to have important information and statistics for the endpoints that you have
- Host: GitHub
- URL: https://github.com/fernandobugni/flask-stats
- Owner: fernandobugni
- License: gpl-3.0
- Created: 2019-03-13T20:32:28.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T05:26:24.000Z (over 3 years ago)
- Last Synced: 2026-02-19T16:48:38.437Z (about 1 month ago)
- Topics: api-analytics, api-rest, flask, http-server, python
- Language: Python
- Homepage:
- Size: 28.3 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# flask-stats
Flask-stats is a simple plugin that allows you to have important information and statistics for the endpoints that you have. It collects all the data and then you can access it through endpoints live. This plug-in allows to monitor simple api without the necessity of any payment, such as new relic
Status: **working progress**
## Instalation
```cmd
pip install flask-api-stats
```
## A Simple Example
```Python
from time import sleep
from flask import Flask
from flask_stats import Stats
s = Stats()
app = Flask(__name__)
s.init_app(app)
@app.route('/')
def hello():
sleep(10)
return 'Hello World!'
if __name__ == '__main__':
app.run()
```
Adding ```Stats(app)``` allows to register statistics of the API such as response time or configuration.
In any time, we can enter in ```/endpoints_stats``` to see duration of each endpoint
```
{
duration: [
{
endpoint "/" : {
avg: 10.009691333770752,
count: 5,
max: 10.010810375213623,
min: 10.007489919662476,
percentile_25: 10.007489919662476,
percentile_50: 10.01064133644104,
percentile_75: 10.010623693466187,
percentile_90: 10.010810375213623
}
},
...
]
}
```
Other endpoint is ```/stats``` where we can see uptime, gc_stats and other configurations
```
{
gc_stats: {
gc.get_debug: 0,
gc.get_stats: {
collected: 5455,
collections: 130,
uncollectable: 0
...
},
uptime: 1210.0311439037323,
uptime_readable: {
days: 0,
hours: 0,
minutes: 20,
seconds: 10.0311439037323
}
}
```
## Contact
Please if you have any doubt or found any bug report and issue or send an email to fernando.bugni(a)gmail.com