Use this simple structure:
from werkzeug.middleware.profiler import ProfilerMiddleware
app = Flask(__name__)
app.config["PROFILE"] = True
app.wsgi_app = ProfilerMiddleware(
app.wsgi_app,
restrictions=[40, "main"],
profile_dir="profiler_dump",
filename_format="{time:.0f}-{method}-{path}-{elapsed:.0f}ms.prof",
)
You can use gprof2dot to visualise the profile
guix shell gprof2dot -- gprof2dot -f pstats 1753202013-GET-show_trait-37931ms.prof > 1753202013-GET-show_trait-37931ms.prof.dot guix shell xdot -- xdot 1753202013-GET-show_trait-37931ms.prof.dot
Or snakeviz to visualize it:
scp genenetwork:/home/bonfacem/profiling/1753202013-GET-show_trait-37931ms.prof /tmp/test snakeviz 1753202013-GET-show_trait-37931ms.prof