diff --git a/bookwyrm/apps.py b/bookwyrm/apps.py index 1c0e04589..8c9332cd2 100644 --- a/bookwyrm/apps.py +++ b/bookwyrm/apps.py @@ -1,10 +1,13 @@ from django.apps import AppConfig from bookwyrm import settings + class BookwyrmConfig(AppConfig): - name = 'bookwyrm' + name = "bookwyrm" verbose_name = "BookWyrm" + def ready(self): if settings.OTEL_EXPORTER_OTLP_ENDPOINT: from bookwyrm.telemetry import open_telemetry + open_telemetry.instrumentDjango() diff --git a/bookwyrm/telemetry/open_telemetry.py b/bookwyrm/telemetry/open_telemetry.py index 1434a5174..0b38a04b1 100644 --- a/bookwyrm/telemetry/open_telemetry.py +++ b/bookwyrm/telemetry/open_telemetry.py @@ -6,10 +6,13 @@ from opentelemetry.sdk.trace.export import BatchSpanProcessor trace.set_tracer_provider(TracerProvider()) trace.get_tracer_provider().add_span_processor(BatchSpanProcessor(OTLPSpanExporter())) + def instrumentDjango(): from opentelemetry.instrumentation.django import DjangoInstrumentor + DjangoInstrumentor().instrument() + def instrumentCelery(): from opentelemetry.instrumentation.celery import CeleryInstrumentor from celery.signals import worker_process_init diff --git a/celerywyrm/apps.py b/celerywyrm/apps.py index c1b97cf32..6aae849cd 100644 --- a/celerywyrm/apps.py +++ b/celerywyrm/apps.py @@ -1,10 +1,13 @@ from django.apps import AppConfig from celerywyrm import settings + class CelerywyrmConfig(AppConfig): - name = 'celerywyrm' + name = "celerywyrm" verbose_name = "BookWyrm Celery" + def ready(self): if settings.OTEL_EXPORTER_OTLP_ENDPOINT: from bookwyrm.telemetry import open_telemetry + open_telemetry.instrumentCelery()