mirror of
https://git.linux-kernel.at/oliver/ivatar.git
synced 2025-11-11 10:46:24 +00:00
Get OTEL fixed
This commit is contained in:
@@ -73,26 +73,26 @@ class OpenTelemetryConfig:
|
||||
def setup_tracing(self) -> None:
|
||||
"""Set up OpenTelemetry tracing."""
|
||||
try:
|
||||
# Only set up tracing if export is enabled
|
||||
if not self.export_enabled:
|
||||
logger.info("OpenTelemetry tracing disabled (export disabled)")
|
||||
return
|
||||
|
||||
# Set up tracer provider
|
||||
trace.set_tracer_provider(TracerProvider(resource=self.resource))
|
||||
tracer_provider = trace.get_tracer_provider()
|
||||
|
||||
# Configure OTLP exporter if export is enabled and endpoint is provided
|
||||
if self.export_enabled:
|
||||
otlp_endpoint = os.environ.get("OTEL_EXPORTER_OTLP_ENDPOINT")
|
||||
if otlp_endpoint:
|
||||
otlp_exporter = OTLPSpanExporter(endpoint=otlp_endpoint)
|
||||
span_processor = BatchSpanProcessor(otlp_exporter)
|
||||
tracer_provider.add_span_processor(span_processor)
|
||||
logger.info(
|
||||
f"OpenTelemetry tracing configured with OTLP endpoint: {otlp_endpoint}"
|
||||
)
|
||||
else:
|
||||
logger.info(
|
||||
"OpenTelemetry tracing configured without OTLP endpoint"
|
||||
)
|
||||
# Configure OTLP exporter if endpoint is provided
|
||||
otlp_endpoint = os.environ.get("OTEL_EXPORTER_OTLP_ENDPOINT")
|
||||
if otlp_endpoint:
|
||||
otlp_exporter = OTLPSpanExporter(endpoint=otlp_endpoint)
|
||||
span_processor = BatchSpanProcessor(otlp_exporter)
|
||||
tracer_provider.add_span_processor(span_processor)
|
||||
logger.info(
|
||||
f"OpenTelemetry tracing configured with OTLP endpoint: {otlp_endpoint}"
|
||||
)
|
||||
else:
|
||||
logger.info("OpenTelemetry tracing configured (export disabled)")
|
||||
logger.info("OpenTelemetry tracing configured without OTLP endpoint")
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"Failed to setup OpenTelemetry tracing: {e}")
|
||||
|
||||
@@ -318,8 +318,7 @@ try:
|
||||
setup_opentelemetry()
|
||||
|
||||
# Add OpenTelemetry middleware (always enabled)
|
||||
# TODO: Need to reenable this again!
|
||||
# MIDDLEWARE.append("ivatar.opentelemetry_middleware.OpenTelemetryMiddleware")
|
||||
MIDDLEWARE.append("ivatar.opentelemetry_middleware.OpenTelemetryMiddleware")
|
||||
except (ImportError, NameError):
|
||||
# OpenTelemetry packages not installed or configuration failed
|
||||
pass
|
||||
|
||||
@@ -142,7 +142,6 @@ class OpenTelemetryConfigTest(TestCase):
|
||||
mock_periodic_reader.assert_called_once()
|
||||
mock_metrics.set_meter_provider.assert_called_once()
|
||||
|
||||
@patch("ivatar.opentelemetry_config.DjangoInstrumentor")
|
||||
@patch("ivatar.opentelemetry_config.Psycopg2Instrumentor")
|
||||
@patch("ivatar.opentelemetry_config.PyMySQLInstrumentor")
|
||||
@patch("ivatar.opentelemetry_config.RequestsInstrumentor")
|
||||
@@ -153,7 +152,6 @@ class OpenTelemetryConfigTest(TestCase):
|
||||
mock_requests,
|
||||
mock_pymysql,
|
||||
mock_psycopg2,
|
||||
mock_django,
|
||||
):
|
||||
"""Test instrumentation setup."""
|
||||
os.environ["OTEL_ENABLED"] = "true"
|
||||
@@ -161,7 +159,7 @@ class OpenTelemetryConfigTest(TestCase):
|
||||
config = OpenTelemetryConfig()
|
||||
config.setup_instrumentation()
|
||||
|
||||
mock_django().instrument.assert_called_once()
|
||||
# DjangoInstrumentor is no longer used, so we don't test it
|
||||
mock_psycopg2().instrument.assert_called_once()
|
||||
mock_pymysql().instrument.assert_called_once()
|
||||
mock_requests().instrument.assert_called_once()
|
||||
|
||||
Reference in New Issue
Block a user