Runtime profiler for Streamlit, powered by pyinstrument.
wfork-streamlit-profiler is a fork of streamlit-profiler 0.2.4. If there are any newer versions of the original streamlit-profiler, you should probably use those instead. See the original project's github for more: https://github.com/jrieke/streamlit-profiler
streamlit-profiler is a Streamlit component that helps you find out which parts of your app are slow. It profiles the code via pyinstrument and shows the results right within your Streamlit app.
โฑ๏ธ Live demo โฑ๏ธ
pip install wfork-streamlit-profilerimport streamlit as st
from wfork_streamlit_profiler import Profiler
with Profiler():
st.title("My app")
# ... other codeOr:
import streamlit as st
from wfork_streamlit_profiler import Profiler
p = Profiler()
p.start()
# ... other code
p.stop()Then start your app as usual: streamlit run my_app.py
The Profiler class is an extension of pyinstrument.Profiler, so you can use
all of its functions.
Don't want the profiler to immediately display when you stop profiling? Initialize it with Profiler(auto_output_on_stop=False) instead, and call the .output_streamlit() method whenever you want it to display, instead. You can also set the async_mode of the profiler in the pyinstrument in the same constructor, whatever that means.
