Skip to content

jetfuel-dev/jetfuel

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 




Jetfuel logo: Jetfuel is the Python Performance Profiler for Production

Python Performance Profiling for Production
~ It's About Time ~

Jetfuel is a performance profiler that can monitor the performance of your production Python, and makes results easy to aggregate and search through.

Jetfuel is designed for Purposeful Profiling. This means that you only use Jetfuel 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

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.


What gets measured gets managed!


Continuous Profiling

Dashboard


How does it work?

Jetfuel is very simple. The client simply times sections of your code, and batches / aggregates them before committing to the Jetfuel server. Updates are aggregated based on a configurable resolution (default 5s). This batching / aggregating behavior allows us to time ms/ns code without introducing much overhead.

Installation

pip install jetfuel
docker run -it -p 9000:9000 -v ${PWD}/data:/bin/jetfuel/data jetfuel/jetfuel

Demo

import jetfuel

jetfuel.init(url="http://localhost:9000")

jetfuel.demo()

Usage

  1. Start / Stop

    p = jetfuel.start("Foobar")
    pass
    p.stop()
  2. Profiler

    with jetfuel.Profiler("Foobar"):
        pass
  3. Function Decorator

    @jetfuel.profiler("Foobar")
    def ml_training():
        pass

About

Python Performance Profiling for Production

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published