File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1111 pytest
1212
1313dev :
14- fastapi dev app.py --host 0.0.0.0
14+ MUSICLIBRARY_DB=musiclibrary.db fastapi dev app.py --host 0.0.0.0
1515
1616prod :
1717 fastapi run app.py
Original file line number Diff line number Diff line change 11import logging
2+ import time
23from typing import Annotated
34from urllib .parse import quote_plus
45
1819console_handler = logging .StreamHandler ()
1920console_handler .setFormatter (Logfmter (keys = ["at" , "name" , "asctime" ]))
2021logging .basicConfig (level = logging .INFO , handlers = [console_handler ])
22+ SLOW_REQUEST_THRESHOLD = 500
2123
2224logger = logging .getLogger ("beets-statistics" )
2325
@@ -61,6 +63,17 @@ async def get_beets_statistics():
6163templates .env .filters ["quote_plus" ] = lambda u : quote_plus (u )
6264
6365
66+ @app .middleware ("http" )
67+ async def add_slow_request_log (request : Request , call_next ):
68+ start_time = time .time ()
69+ response = await call_next (request )
70+ process_time = (time .time () - start_time ) * 1000
71+ logger .debug (f"Completed request in { process_time :.2f} ms" )
72+ if process_time > SLOW_REQUEST_THRESHOLD :
73+ logger .warning ("Slow log: {process_time:.2f} ms" )
74+ return response
75+
76+
6477@app .get ("/" , response_class = HTMLResponse )
6578async def get_general_stats (
6679 request : Request ,
You can’t perform that action at this time.
0 commit comments