Repository URL to install this package:
|
Version:
1:7.26.0-1 ▾
|
datadog-agent
/
opt
/
datadog-agent
/
embedded
/
lib
/
python3.8
/
site-packages
/
ddtrace
/
contrib
/
celery
/
patch.py
|
|---|
import celery
from ddtrace import config
from .app import patch_app, unpatch_app
from .constants import PRODUCER_SERVICE, WORKER_SERVICE
from ...utils.formats import get_env
# Celery default settings
config._add('celery', {
'producer_service_name': get_env('celery', 'producer_service_name', PRODUCER_SERVICE),
'worker_service_name': get_env('celery', 'worker_service_name', WORKER_SERVICE),
})
def patch():
"""Instrument Celery base application and the `TaskRegistry` so
that any new registered task is automatically instrumented. In the
case of Django-Celery integration, also the `@shared_task` decorator
must be instrumented because Django doesn't use the Celery registry.
"""
patch_app(celery.Celery)
def unpatch():
"""Disconnect all signals and remove Tracing capabilities"""
unpatch_app(celery.Celery)