from opentelemetry import metrics, trace from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import \ OTLPSpanExporter from opentelemetry.exporter.otlp.proto.http.metric_exporter import \ OTLPMetricExporter from opentelemetry.instrumentation.django import DjangoInstrumentor from opentelemetry.sdk.metrics import MeterProvider from opentelemetry.sdk.metrics.export import PeriodicExportingMetricReader from opentelemetry.sdk.resources import SERVICE_NAME, Resource from opentelemetry.sdk.trace import TracerProvider from opentelemetry.sdk.trace.export import BatchSpanProcessor def setup_tracing(): # Set up a tracer provider trace.set_tracer_provider(TracerProvider()) # Configure the OTLP exporter otlp_exporter = OTLPSpanExporter(endpoint="http://localhost:4317", insecure=True) # Add a BatchSpanProcessor to handle traces span_processor = BatchSpanProcessor(otlp_exporter) trace.get_tracer_provider().add_span_processor(span_processor) # Instrument Django DjangoInstrumentor().instrument()