diff --git a/src/mwl_main.py b/src/mwl_main.py index 7c54712f..97889086 100644 --- a/src/mwl_main.py +++ b/src/mwl_main.py @@ -6,6 +6,7 @@ from dotenv import load_dotenv from server import MWLServer +from telemetry import configure_telemetry load_dotenv() @@ -30,6 +31,8 @@ def main(): mwl_server = MWLServer(mwl_aet, mwl_port, mwl_db_path, block=True) + configure_telemetry(service_name="mwl-server") + try: mwl_server.start() except KeyboardInterrupt: diff --git a/src/pacs_main.py b/src/pacs_main.py index 5dfc7640..10d84734 100644 --- a/src/pacs_main.py +++ b/src/pacs_main.py @@ -6,6 +6,7 @@ from dotenv import load_dotenv from server import PACSServer +from telemetry import configure_telemetry load_dotenv() @@ -33,6 +34,8 @@ def main(): pacs_server = PACSServer(pacs_aet, pacs_port, pacs_storage_path, pacs_db_path, block=True, mwl_db_path=mwl_db_path) + configure_telemetry(service_name="pacs-server") + try: pacs_server.start() except KeyboardInterrupt: diff --git a/src/telemetry.py b/src/telemetry.py index b81386ce..b4c80b3c 100644 --- a/src/telemetry.py +++ b/src/telemetry.py @@ -3,6 +3,14 @@ logger = logging.getLogger(__name__) +# Suppress verbose logging from OpenTelemetry and Azure Monitor libraries +for package_name in [ + "azure.monitor.opentelemetry", + "azure.core.pipeline.policies.http_logging_policy", +]: + package_logger = logging.getLogger(package_name) + package_logger.setLevel(logging.WARNING) + def configure_telemetry(service_name: str | None = None) -> None: """Configure OpenTelemetry with Azure Monitor. diff --git a/src/upload_main.py b/src/upload_main.py index 097d89c0..97c4b473 100644 --- a/src/upload_main.py +++ b/src/upload_main.py @@ -9,6 +9,7 @@ from services.dicom.upload_listener import UploadListener from services.dicom.upload_processor import UploadProcessor from services.storage import MWLStorage, PACSStorage +from telemetry import configure_telemetry load_dotenv() @@ -67,6 +68,8 @@ def main(): logging.info(f"API endpoint: {uploader.api_endpoint}") logging.info("=" * 60) + configure_telemetry(service_name="upload-listener") + try: listener.start() except KeyboardInterrupt: