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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

Details for the file flask_pypprof-0.1.18.tar.gz.

File metadata

  • Download URL: flask_pypprof-0.1.18.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.10.4 Linux/6.2.0-1015-azure

File hashes

Hashes for flask_pypprof-0.1.18.tar.gz
Algorithm Hash digest
SHA256 4f7e01499ac4e10d4ccc60070d6d27ac0e613ce9fade9e141e162c381a0b6319
MD5 8f7b9a0676438508e11926e94cbe7d39
BLAKE2b-256 b9383d05f3daaf2b16905877c955e5e6e3ebf67f534e178720e23fa61e57683a

See more details on using hashes here.

File details

Details for the file flask_pypprof-0.1.18-py3-none-any.whl.

File metadata

  • Download URL: flask_pypprof-0.1.18-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.10.4 Linux/6.2.0-1015-azure

File hashes

Hashes for flask_pypprof-0.1.18-py3-none-any.whl
Algorithm Hash digest
SHA256 f2bf8af0675006127ff439acffda2c9b3ee444b672d21ceb44ed32ebdd8b9849
MD5 0e0109d1e67db503f66340a9a9d791b9
BLAKE2b-256 f920f6f418cec270209cd6dea1f368b41f7b1c03798fe0e5eb913443c5d21a75

See more details on using hashes here.

Supported by

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