Skip to main content

A dubugging & profiling toolkit for production Python microservices

Project description

Hawk Debug Toolkit For Python

Hawk: Debug & Profile

A lightweight debugging & profiling toolkit
for production 🐍 Python microservices

🦅 Hawk gives you more control over how your Python microservices run in production with little overhead by bringing a set of internal API to help you to profile and debug your services.

[!NOTE]

🚧 This project is under active development and not ready for production use yet. 🚧

Hawk is inspired by Go's net/http/pprof & expvars packages and OpenTelemetry Collector's ZPages which are in turn stemmed from Google's internal practices around debugging production services.

[!IMPORTANT]

Be sure to start this project and wathch it if you find it helpful ⭐️

Features

  • ⏱️ Memory Profiling via the tracemalloc stdlib
  • ⏱️ CPU Profiling (incl. Asyncio services) via pyinstrument & cProfile (soon)
  • 🙋‍♀️ Activate profiling on demand in real environments
  • 🎨 Render your profiles right from your browser
  • ⬇️ Download your profiles for the further investigation
  • 🔭 Expose internal state of your service via debug vars (🚧soon)
  • 🔧 Create custom debug pages (a.k.a. ZPages) in a simplified way
  • 🔧 Controlled via environment variables, no codebase modifications needed to enable/disable functionality completely
  • 🔓 No elevated permissions needed (CAP_PTRACE, etc.)
  • 🔭 OpenTelemetry-aware (🚧soon)

Integrated With:

FastAPI Logo Starlette Logo Flask Logo

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

hawk_debug-0.0.1.tar.gz (21.4 kB view hashes)

Uploaded Source

Built Distribution

hawk_debug-0.0.1-py3-none-any.whl (41.1 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