Python Performance Profiling for Production
Project description
Python Performance Profiling for Production
~ It's About Time ~
Mocha is a performance profiler that can monitor the performance of your production Python, and makes results easy to aggregate and search through.
Mocha is designed for Purposeful Profiling. This means that you only use Mocha around code of interest, instead of dumping all code performance logs and mining it later.
Useful for Profiling:
- 🌎 API performance
- 🚀 CI/CD stage / granular performance
- 💡 ML training & inference jobs
- 📀 Database queries
- 📊 Data pipelines / compute jobs
What gets measured gets managed!
Bad performance has real world consequences, and is often a result of lack of visibility, even if you are logging it, if it's not be easy to get to, it will be ignored.
Installation
pip install mocha-time
docker run -p 9000:9000 mochadev/mocha
Demo
import mocha
mocha.init(url="http://localhost:9000")
mocha.demo()
Usage
# 1. Start / Stop
p = mocha.start("Foobar")
pass
p.stop()
# 2. Profiler
with mocha.Profiler("Foobar"):
pass
# 3. Function Decorator
@mocha.profiler("Foobar")
def ml_training():
pass
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.