Skip to content

Commit a84e2e7

Browse files
committed
✨ Refactor: Enhance Prometheus instrumentation integration and update test fixtures for improved clarity
1 parent bb517d6 commit a84e2e7

File tree

8 files changed

+17
-16
lines changed

8 files changed

+17
-16
lines changed

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
from models_library.basic_types import BootModeEnum
66
from servicelib.fastapi import timing_middleware
77
from servicelib.fastapi.openapi import override_fastapi_openapi_method
8+
from servicelib.fastapi.prometheus_instrumentation import (
9+
initialize_prometheus_instrumentation,
10+
)
811
from starlette.middleware.base import BaseHTTPMiddleware
912

1013
from .._meta import (
@@ -59,6 +62,9 @@ def create_app() -> FastAPI:
5962
app.state.settings = settings
6063

6164
# MIDDLEWARES
65+
if settings.CATALOG_PROMETHEUS_INSTRUMENTATION_ENABLED:
66+
initialize_prometheus_instrumentation(app)
67+
6268
if settings.SC_BOOT_MODE != BootModeEnum.PRODUCTION:
6369
# middleware to time requests (ONLY for development)
6470
app.add_middleware(

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

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
postgres_lifespan,
99
)
1010
from servicelib.fastapi.prometheus_instrumentation import (
11-
initialize_prometheus_instrumentation,
1211
lifespan_prometheus_instrumentation,
1312
)
1413
from servicelib.fastapi.tracing import initialize_tracing
@@ -55,9 +54,8 @@ async def _setup_prometheus_instrumentation_adapter(
5554
) -> AsyncIterator[State]:
5655
enabled = state.get("prometheus_instrumentation_enabled", False)
5756
if enabled:
58-
initialize_prometheus_instrumentation(app)
59-
async for _state in lifespan_prometheus_instrumentation(app):
60-
yield _state
57+
async for prometheus_state in lifespan_prometheus_instrumentation(app):
58+
yield prometheus_state
6159

6260

6361
def create_app_lifespan():

services/catalog/tests/unit/conftest.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -216,8 +216,8 @@ def service_caching_disabled(monkeypatch: pytest.MonkeyPatch) -> None:
216216

217217

218218
@pytest.fixture
219-
def postgres_setup_disabled(mocker: MockerFixture) -> MockType:
220-
return mocker.patch.object(simcore_service_catalog.core.events, "postgres_lifespan")
219+
def postgres_setup_disabled(mocker: MockerFixture):
220+
mocker.patch.object(simcore_service_catalog.core.events, "postgres_lifespan")
221221

222222

223223
@pytest.fixture

services/catalog/tests/unit/test_api_rest.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,10 @@
66
import httpx
77
from fastapi import status
88
from fastapi.testclient import TestClient
9-
from pytest_mock import MockType
109

1110

1211
def test_sync_client(
13-
postgres_setup_disabled: MockType,
12+
postgres_setup_disabled: None,
1413
rabbitmq_and_rpc_setup_disabled: None,
1514
background_tasks_setup_disabled: None,
1615
director_setup_disabled: None,
@@ -25,7 +24,7 @@ def test_sync_client(
2524

2625

2726
async def test_async_client(
28-
postgres_setup_disabled: MockType,
27+
postgres_setup_disabled: None,
2928
rabbitmq_and_rpc_setup_disabled: None,
3029
background_tasks_setup_disabled: None,
3130
director_setup_disabled: None,

services/catalog/tests/unit/test_services_director.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import pytest
1313
from fastapi import FastAPI
1414
from models_library.services_metadata_published import ServiceMetaDataPublished
15-
from pytest_mock import MockType
1615
from pytest_simcore.helpers.monkeypatch_envs import setenvs_from_dict
1716
from pytest_simcore.helpers.typing_env import EnvVarsDict
1817
from respx.router import MockRouter
@@ -35,7 +34,7 @@ def app_environment(
3534

3635

3736
async def test_director_client_high_level_api(
38-
postgres_setup_disabled: MockType,
37+
postgres_setup_disabled: None,
3938
background_tasks_setup_disabled: None,
4039
rabbitmq_and_rpc_setup_disabled: None,
4140
expected_director_list_services: list[dict[str, Any]],
@@ -61,7 +60,7 @@ async def test_director_client_high_level_api(
6160

6261

6362
async def test_director_client_low_level_api(
64-
postgres_setup_disabled: MockType,
63+
postgres_setup_disabled: None,
6564
background_tasks_setup_disabled: None,
6665
rabbitmq_and_rpc_setup_disabled: None,
6766
mocked_director_service_api: MockRouter,

services/catalog/tests/unit/test_services_manifest.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ def app_environment(
3333

3434

3535
async def test_services_manifest_api(
36+
postgres_setup_disabled: None,
3637
rabbitmq_and_rpc_setup_disabled: None,
3738
mocked_director_service_api: MockRouter,
3839
app: FastAPI,

services/catalog/tests/unit/test_utils_service_extras.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
from httpx import AsyncClient
99
from models_library.api_schemas_directorv2.services import ServiceExtras
1010
from pydantic import TypeAdapter
11-
from pytest_mock import MockType
1211
from respx import MockRouter
1312

1413

@@ -18,7 +17,7 @@ def mock_engine(app: FastAPI) -> None:
1817

1918

2019
async def test_get_service_extras(
21-
postgres_setup_disabled: MockType,
20+
postgres_setup_disabled: None,
2221
mocked_director_service_api: MockRouter,
2322
rabbitmq_and_rpc_setup_disabled: None,
2423
background_tasks_setup_disabled: None,

services/catalog/tests/unit/test_utils_service_labels.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import pytest
88
from fastapi import FastAPI, status
99
from httpx import AsyncClient
10-
from pytest_mock import MockType
1110
from respx import MockRouter
1211

1312

@@ -17,7 +16,7 @@ def mock_engine(app: FastAPI) -> None:
1716

1817

1918
async def test_get_service_labels(
20-
postgres_setup_disabled: MockType,
19+
postgres_setup_disabled: None,
2120
mocked_director_service_api: MockRouter,
2221
rabbitmq_and_rpc_setup_disabled: None,
2322
background_tasks_setup_disabled: None,

0 commit comments

Comments
 (0)