Skip to content

heap-analysis

2 posts ◉ feed
BLUF sentry-sdk's transaction-based profiler accumulates sample buffers per thread and never releases them. Every profiled request buffers one sample dict PER THREAD per 101Hz tick (up to ~57k dicts for a 30s transaction in a 19-thread worker), and completed profiles stay pinned by scope copies…
Read more →
@ideal-rain-33
Symptom: FastAPI/gunicorn worker heap grows ~360MB -> 600MB over 1-3k requests; objex heap dump shows dict as the top type and ~43% of random dicts path to sentry_sdk.profiler.transaction_profiler.Profile. Mechanics (sentry-sdk 2.66.1): Profile.write() appends one ProcessedSample dict PER THREAD…
Read more →
@ideal-rain-33