Configuration reference
Basic setup
# settings.py
DJANGO_O11Y = {
"SERVICE_NAME": "my-app",
"TRACING": {"ENABLED": True},
"LOGGING": {"ENABLED": True},
}
Options
Core
| Setting |
Type |
Default |
Env Var |
SERVICE_NAME |
str |
"django-app" |
OTEL_SERVICE_NAME |
ENVIRONMENT |
str |
"development" |
ENVIRONMENT |
NAMESPACE |
str |
"" |
SERVICE_NAMESPACE |
RESOURCE_ATTRIBUTES |
dict |
{} |
— |
CUSTOM_TAGS |
dict |
{} |
— |
Tracing
| Setting |
Type |
Default |
Env Var |
TRACING.ENABLED |
bool |
False |
DJANGO_O11Y_TRACING_ENABLED |
TRACING.OTLP_ENDPOINT |
str |
"http://localhost:4317" |
OTEL_EXPORTER_OTLP_ENDPOINT |
TRACING.SAMPLE_RATE |
float |
1.0 |
OTEL_TRACES_SAMPLER_ARG |
TRACING.CONSOLE_EXPORTER |
bool |
False |
DJANGO_O11Y_CONSOLE_EXPORTER |
Logging
| Setting |
Type |
Default |
Env Var |
LOGGING.FORMAT |
str |
"console" (DEBUG=True) / "json" (DEBUG=False) |
DJANGO_LOG_FORMAT |
LOGGING.LEVEL |
str |
"INFO" |
DJANGO_LOG_LEVEL |
LOGGING.REQUEST_LEVEL |
str |
"INFO" |
DJANGO_REQUEST_LOG_LEVEL |
LOGGING.DATABASE_LEVEL |
str |
"WARNING" |
DJANGO_DATABASE_LOG_LEVEL |
LOGGING.CELERY_LEVEL |
str |
"INFO" |
DJANGO_CELERY_LOG_LEVEL |
LOGGING.COLORIZED |
bool |
Same as DEBUG |
DJANGO_LOG_COLORIZED |
LOGGING.RICH_EXCEPTIONS |
bool |
Same as DEBUG |
DJANGO_LOG_RICH_EXCEPTIONS |
LOGGING.OTLP_ENABLED |
bool |
True |
DJANGO_O11Y_LOG_OTLP_ENABLED |
LOGGING.OTLP_ENDPOINT |
str |
"http://localhost:4317" |
OTEL_EXPORTER_OTLP_ENDPOINT |
Metrics
| Setting |
Type |
Default |
Env Var |
METRICS.PROMETHEUS_ENABLED |
bool |
True |
DJANGO_O11Y_PROMETHEUS_ENABLED |
METRICS.PROMETHEUS_ENDPOINT |
str |
"/metrics" |
DJANGO_O11Y_PROMETHEUS_ENDPOINT |
Celery
| Setting |
Type |
Default |
Env Var |
CELERY.ENABLED |
bool |
False |
DJANGO_O11Y_CELERY_ENABLED |
CELERY.TRACING_ENABLED |
bool |
True |
DJANGO_O11Y_CELERY_TRACING_ENABLED |
CELERY.LOGGING_ENABLED |
bool |
True |
DJANGO_O11Y_CELERY_LOGGING_ENABLED |
CELERY.METRICS_ENABLED |
bool |
True |
DJANGO_O11Y_CELERY_METRICS_ENABLED |
Profiling
| Setting |
Type |
Default |
Env Var |
PROFILING.ENABLED |
bool |
False |
DJANGO_O11Y_PROFILING_ENABLED |
PROFILING.PYROSCOPE_URL |
str |
"http://localhost:4040" |
PYROSCOPE_SERVER_ADDRESS |
PROFILING.TAGS |
dict |
{} |
— |
Environment variables
export OTEL_SERVICE_NAME="my-app"
export ENVIRONMENT="production"
export OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4317"
export OTEL_TRACES_SAMPLER_ARG="0.1"
export DJANGO_LOG_LEVEL="INFO"
export DJANGO_LOG_FORMAT="json"
Examples
Development
DJANGO_O11Y = {
"SERVICE_NAME": "my-app-dev",
"TRACING": {
"SAMPLE_RATE": 1.0,
"CONSOLE_EXPORTER": True, # Print traces to stdout
},
"LOGGING": {
"FORMAT": "console",
"COLORIZED": True,
"DATABASE_LEVEL": "DEBUG", # Log all SQL queries
},
}
Production
DJANGO_O11Y = {
"SERVICE_NAME": "my-app",
"ENVIRONMENT": "production",
"TRACING": {"SAMPLE_RATE": 0.01},
"LOGGING": {
"FORMAT": "json",
"COLORIZED": False,
},
"CELERY": {"ENABLED": True},
}
Automatic attributes
Added to all traces:
service.name
service.version
deployment.environment
host.name
process.pid