Skip to main content

Pypprof Flask wrapper

Project description

flask-pypprof

Blueprint for pprof profiling endpoints a la GO's that can be added to python Flask applications. flask-pypprof is a wrapper of pypprof and based on django-pypprof ideas.

Installation

pip install flask-pypprof

Usage

To add the pprof endpoints to your application, simply register the blueprint:

from flask_pypprof import get_pprof_blueprint

app.register_blueprint(get_pprof_blueprint())

Once registered, you will be able to access the following endpoints:

  • /debug/pprof/profile: will return a CPU profile
  • /debug/pprof/heap: will return a heap profile
  • /debug/pprof/thread: will return a thread profile
  • /debug/pprof/wall: will return a wall time profile(work in progress)

Configuration

You can configure the memory sample rate by setting the following environment variable:

  • MEMORY_PROFILER_ENABLED: enables the memory profiler (default: false)
  • MEMORY_SAMPLE_RATE: sets the memory profiling sample rate (default: 128 * 1024)
export MEMORY_PROFILER_ENABLED = false
export MEMORY_SAMPLE_RATE = 128 * 1024

Fetching profiles from your application

Fetch a 30 seconds CPU profile:

go tool pprof -http=:8088 http://localhost:8081/debug/pprof/profile?seconds=30

Fetch a heap profile:

go tool pprof -http=:8088 http://localhost:8081/debug/pprof/heap

image_2023-05-09_16-27-22

Compatibility

Python 3.8, 3.9, 3.10 and Flask >= 2.0.0 and Linux only.

Known issues

License

This code base is available under the Apache License, version 2.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flask_pypprof-0.1.18.tar.gz (7.0 kB view hashes)

Uploaded Source

Built Distribution

flask_pypprof-0.1.18-py3-none-any.whl (8.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page