mirror of
https://git.linux-kernel.at/oliver/ivatar.git
synced 2025-11-11 18:56:23 +00:00
Merge devel into master - resolve OpenTelemetry conflict
- Resolve merge conflict in opentelemetry_config.py - Keep improved OSError handling for 'Address in use' error - Include latest OpenTelemetry multiple initialization fix
This commit is contained in:
@@ -163,6 +163,14 @@ class OpenTelemetryConfig:
|
|||||||
|
|
||||||
logger.info(f"Prometheus metrics server started on {host}:{port}")
|
logger.info(f"Prometheus metrics server started on {host}:{port}")
|
||||||
|
|
||||||
|
except OSError as e:
|
||||||
|
if e.errno == 98: # Address already in use
|
||||||
|
logger.warning(
|
||||||
|
f"Prometheus metrics server already running on {endpoint}"
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
logger.error(f"Failed to start Prometheus metrics server: {e}")
|
||||||
|
self.enabled = False
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"Failed to start Prometheus metrics server: {e}")
|
logger.error(f"Failed to start Prometheus metrics server: {e}")
|
||||||
self.enabled = False
|
self.enabled = False
|
||||||
@@ -202,6 +210,7 @@ class OpenTelemetryConfig:
|
|||||||
|
|
||||||
# Global OpenTelemetry configuration instance (lazy-loaded)
|
# Global OpenTelemetry configuration instance (lazy-loaded)
|
||||||
_ot_config = None
|
_ot_config = None
|
||||||
|
_ot_initialized = False
|
||||||
|
|
||||||
|
|
||||||
def get_ot_config():
|
def get_ot_config():
|
||||||
@@ -218,6 +227,12 @@ def setup_opentelemetry() -> None:
|
|||||||
|
|
||||||
This function should be called during Django application startup.
|
This function should be called during Django application startup.
|
||||||
"""
|
"""
|
||||||
|
global _ot_initialized
|
||||||
|
|
||||||
|
if _ot_initialized:
|
||||||
|
logger.debug("OpenTelemetry already initialized, skipping setup")
|
||||||
|
return
|
||||||
|
|
||||||
logger.info("Setting up OpenTelemetry...")
|
logger.info("Setting up OpenTelemetry...")
|
||||||
|
|
||||||
ot_config = get_ot_config()
|
ot_config = get_ot_config()
|
||||||
@@ -230,6 +245,7 @@ def setup_opentelemetry() -> None:
|
|||||||
logger.info("OpenTelemetry setup completed successfully (export enabled)")
|
logger.info("OpenTelemetry setup completed successfully (export enabled)")
|
||||||
else:
|
else:
|
||||||
logger.info("OpenTelemetry setup completed successfully (export disabled)")
|
logger.info("OpenTelemetry setup completed successfully (export disabled)")
|
||||||
|
_ot_initialized = True
|
||||||
else:
|
else:
|
||||||
logger.info("OpenTelemetry setup failed")
|
logger.info("OpenTelemetry setup failed")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user