This document describes the current stable version of Celery (5.2). For development docs, go here.

celery.utils.debug

Sampling Memory Usage

This module can be used to diagnose and sample the memory usage used by parts of your application.

For example, to sample the memory usage of calling tasks you can do this:

from celery.utils.debug import sample_mem, memdump

from tasks import add


try:
    for i in range(100):
        for j in range(100):
            add.delay(i, j)
        sample_mem()
finally:
    memdump()

API Reference

Utilities for debugging memory usage, blocking calls, etc.

celery.utils.debug.sample_mem()[source]

Sample RSS memory usage.

Statistics can then be output by calling memdump().

celery.utils.debug.memdump(samples=10, file=None)[source]

Dump memory statistics.

Will print a sample of all RSS memory samples added by calling sample_mem(), and in addition print used RSS memory after gc.collect().

celery.utils.debug.sample(x, n, k=0)[source]

Given a list x a sample of length n of that list is returned.

For example, if n is 10, and x has 100 items, a list of every tenth. item is returned.

k can be used as offset.

celery.utils.debug.mem_rss()[source]

Return RSS memory usage as a humanized string.

celery.utils.debug.ps()[source]

Return the global psutil.Process instance.

Note

Returns None if psutil is not installed.