"""High-level observability setup wiring.""" from fastapi import FastAPI from app.config import ObservabilityConfig from app.observability.logging import configure_structured_logging from app.observability.metrics import setup_metrics from app.observability.tracing import ( instrument_fastapi_app, instrument_httpx_client, setup_tracing, ) def setup_observability(app: FastAPI, config: ObservabilityConfig) -> None: configure_structured_logging(config.log_level) setup_tracing( service_name=config.service_name, otlp_endpoint=config.otlp_endpoint, ) setup_metrics( service_name=config.service_name, otlp_endpoint=config.otlp_endpoint, ) instrument_fastapi_app(app) instrument_httpx_client()