Skip to content

Commit 061e454

Browse files
committed
improve catalog instrumentation
1 parent a1d35f3 commit 061e454

File tree

3 files changed

+18
-10
lines changed

3 files changed

+18
-10
lines changed

services/catalog/src/simcore_service_catalog/core/application.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,13 @@ def create_app(settings: ApplicationSettings | None = None) -> FastAPI:
4646
# STATE
4747
app.state.settings = settings
4848

49-
add_tracing = False
50-
if app.state.settings.CATALOG_TRACING:
51-
add_tracing = True
52-
setup_tracing(app, app.state.settings.CATALOG_TRACING, APP_NAME)
49+
if settings.CATALOG_TRACING:
50+
setup_tracing(app, settings.CATALOG_TRACING, APP_NAME)
5351

5452
# STARTUP-EVENT
55-
app.add_event_handler("startup", create_on_startup(app, add_tracing=add_tracing))
53+
app.add_event_handler(
54+
"startup", create_on_startup(app, tracing_settings=settings.CATALOG_TRACING)
55+
)
5656

5757
# PLUGIN SETUP
5858
setup_function_services(app)

services/catalog/src/simcore_service_catalog/core/events.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from fastapi import FastAPI
66
from servicelib.fastapi.db_asyncpg_engine import close_db_connection, connect_to_db
77
from servicelib.logging_utils import log_context
8+
from settings_library.tracing import TracingSettings
89

910
from .._meta import APP_FINISHED_BANNER_MSG, APP_STARTED_BANNER_MSG
1011
from ..db.events import setup_default_product
@@ -26,7 +27,9 @@ def _flush_finished_banner() -> None:
2627
print(APP_FINISHED_BANNER_MSG, flush=True) # noqa: T201
2728

2829

29-
def create_on_startup(app: FastAPI, add_tracing: bool = False) -> EventCallable:
30+
def create_on_startup(
31+
app: FastAPI, tracing_settings: TracingSettings | None
32+
) -> EventCallable:
3033
async def _() -> None:
3134
_flush_started_banner()
3235

@@ -37,7 +40,7 @@ async def _() -> None:
3740

3841
if app.state.settings.CATALOG_DIRECTOR:
3942
# setup connection to director
40-
await setup_director(app, add_tracing=add_tracing)
43+
await setup_director(app, tracing_settings=tracing_settings)
4144

4245
# FIXME: check director service is in place and ready. Hand-shake??
4346
# SEE https://github.com/ITISFoundation/osparc-simcore/issues/1728

services/catalog/src/simcore_service_catalog/services/director.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
from models_library.utils.json_serialization import json_dumps
1414
from servicelib.fastapi.tracing import setup_httpx_client_tracing
1515
from servicelib.logging_utils import log_context
16+
from settings_library.tracing import TracingSettings
1617
from starlette import status
1718
from tenacity.asyncio import AsyncRetrying
1819
from tenacity.before_sleep import before_sleep_log
@@ -107,12 +108,14 @@ class DirectorApi:
107108
SEE services/catalog/src/simcore_service_catalog/api/dependencies/director.py
108109
"""
109110

110-
def __init__(self, base_url: str, app: FastAPI, add_tracing: bool = False):
111+
def __init__(
112+
self, base_url: str, app: FastAPI, tracing_settings: TracingSettings | None
113+
):
111114
self.client = httpx.AsyncClient(
112115
base_url=base_url,
113116
timeout=app.state.settings.CATALOG_CLIENT_REQUEST.HTTP_CLIENT_REQUEST_TOTAL_TIMEOUT,
114117
)
115-
if add_tracing:
118+
if tracing_settings:
116119
setup_httpx_client_tracing(self.client)
117120
self.vtag = app.state.settings.CATALOG_DIRECTOR.DIRECTOR_VTAG
118121

@@ -154,7 +157,9 @@ async def get_service(
154157
return ServiceMetaDataPublished.parse_obj(data[0])
155158

156159

157-
async def setup_director(app: FastAPI, add_tracing: bool = False) -> None:
160+
async def setup_director(
161+
app: FastAPI, tracing_settings: TracingSettings | None
162+
) -> None:
158163
if settings := app.state.settings.CATALOG_DIRECTOR:
159164
with log_context(
160165
_logger, logging.DEBUG, "Setup director at %s", f"{settings.base_url=}"

0 commit comments

Comments
 (0)