Skip to content

Commit f8f985d

Browse files
GitHKAndrei Neagu
authored andcommitted
🐛 Removed tracing lifespan which should be an initialize (ITISFoundation#7165)
Co-authored-by: Andrei Neagu <[email protected]>
1 parent 2dd34f5 commit f8f985d

File tree

16 files changed

+39
-52
lines changed

16 files changed

+39
-52
lines changed

Diff for: packages/service-library/src/servicelib/fastapi/tracing.py

+1-14
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,8 @@
33
"""
44

55
import logging
6-
from collections.abc import AsyncIterator
76

87
from fastapi import FastAPI
9-
from fastapi_lifespan_manager import State
108
from httpx import AsyncClient, Client
119
from opentelemetry import trace
1210
from opentelemetry.exporter.otlp.proto.http.trace_exporter import (
@@ -17,7 +15,6 @@
1715
from opentelemetry.sdk.resources import Resource
1816
from opentelemetry.sdk.trace import TracerProvider
1917
from opentelemetry.sdk.trace.export import BatchSpanProcessor
20-
from servicelib.fastapi.lifespan_utils import LifespanGenerator
2118
from servicelib.logging_utils import log_context
2219
from settings_library.tracing import TracingSettings
2320
from yarl import URL
@@ -64,7 +61,7 @@
6461
HAS_REQUESTS = False
6562

6663

67-
def setup_tracing(
64+
def initialize_tracing(
6865
app: FastAPI, tracing_settings: TracingSettings, service_name: str
6966
) -> None:
7067
if (
@@ -134,15 +131,5 @@ def setup_tracing(
134131
RequestsInstrumentor().instrument()
135132

136133

137-
def get_lifespan_tracing(
138-
tracing_settings: TracingSettings, service_name: str
139-
) -> LifespanGenerator:
140-
async def _(app: FastAPI) -> AsyncIterator[State]:
141-
setup_tracing(app, tracing_settings, service_name)
142-
yield {}
143-
144-
return _
145-
146-
147134
def setup_httpx_client_tracing(client: AsyncClient | Client):
148135
HTTPXClientInstrumentor.instrument_client(client)

Diff for: packages/service-library/tests/fastapi/test_tracing.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import pytest
1212
from fastapi import FastAPI
1313
from pydantic import ValidationError
14-
from servicelib.fastapi.tracing import setup_tracing
14+
from servicelib.fastapi.tracing import initialize_tracing
1515
from settings_library.tracing import TracingSettings
1616

1717

@@ -54,13 +54,13 @@ async def test_valid_tracing_settings(
5454
uninstrument_opentelemetry: Iterator[None],
5555
):
5656
tracing_settings = TracingSettings()
57-
setup_tracing(
57+
initialize_tracing(
5858
mocked_app,
5959
tracing_settings=tracing_settings,
6060
service_name="Mock-Openetlemetry-Pytest",
6161
)
6262
# idempotency
63-
setup_tracing(
63+
initialize_tracing(
6464
mocked_app,
6565
tracing_settings=tracing_settings,
6666
service_name="Mock-Openetlemetry-Pytest",
@@ -92,7 +92,7 @@ async def test_invalid_tracing_settings(
9292
app = mocked_app
9393
with pytest.raises((BaseException, ValidationError, TypeError)): # noqa: PT012
9494
tracing_settings = TracingSettings()
95-
setup_tracing(
95+
initialize_tracing(
9696
app,
9797
tracing_settings=tracing_settings,
9898
service_name="Mock-Openetlemetry-Pytest",
@@ -146,13 +146,13 @@ async def test_tracing_setup_package_detection(
146146
importlib.import_module(package_name)
147147
#
148148
tracing_settings = TracingSettings()
149-
setup_tracing(
149+
initialize_tracing(
150150
mocked_app,
151151
tracing_settings=tracing_settings,
152152
service_name="Mock-Openetlemetry-Pytest",
153153
)
154154
# idempotency
155-
setup_tracing(
155+
initialize_tracing(
156156
mocked_app,
157157
tracing_settings=tracing_settings,
158158
service_name="Mock-Openetlemetry-Pytest",

Diff for: services/agent/src/simcore_service_agent/core/application.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
get_common_oas_options,
66
override_fastapi_openapi_method,
77
)
8-
from servicelib.fastapi.tracing import setup_tracing
8+
from servicelib.fastapi.tracing import initialize_tracing
99
from servicelib.logging_utils import config_all_loggers
1010

1111
from .._meta import (
@@ -64,7 +64,7 @@ def create_app() -> FastAPI:
6464
setup_rpc_api_routes(app)
6565

6666
if settings.AGENT_TRACING:
67-
setup_tracing(app, settings.AGENT_TRACING, APP_NAME)
67+
initialize_tracing(app, settings.AGENT_TRACING, APP_NAME)
6868

6969
async def _on_startup() -> None:
7070
print(APP_STARTED_BANNER_MSG, flush=True) # noqa: T201

Diff for: services/api-server/src/simcore_service_api_server/core/application.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from models_library.basic_types import BootModeEnum
66
from packaging.version import Version
77
from servicelib.fastapi.profiler import initialize_profiler
8-
from servicelib.fastapi.tracing import setup_tracing
8+
from servicelib.fastapi.tracing import initialize_tracing
99
from servicelib.logging_utils import config_all_loggers
1010

1111
from .. import exceptions
@@ -84,7 +84,7 @@ def init_app(settings: ApplicationSettings | None = None) -> FastAPI:
8484
setup_rabbitmq(app)
8585

8686
if settings.API_SERVER_TRACING:
87-
setup_tracing(app, settings.API_SERVER_TRACING, APP_NAME)
87+
initialize_tracing(app, settings.API_SERVER_TRACING, APP_NAME)
8888

8989
if settings.API_SERVER_WEBSERVER:
9090
webserver.setup(

Diff for: services/autoscaling/src/simcore_service_autoscaling/core/application.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import logging
22

33
from fastapi import FastAPI
4-
from servicelib.fastapi.tracing import setup_tracing
4+
from servicelib.fastapi.tracing import initialize_tracing
55

66
from .._meta import (
77
API_VERSION,
@@ -71,7 +71,7 @@ def create_app(settings: ApplicationSettings) -> FastAPI:
7171
setup_auto_scaler_background_task(app)
7272
setup_buffer_machines_pool_task(app)
7373
if app.state.settings.AUTOSCALING_TRACING:
74-
setup_tracing(app, app.state.settings.AUTOSCALING_TRACING, APP_NAME)
74+
initialize_tracing(app, app.state.settings.AUTOSCALING_TRACING, APP_NAME)
7575

7676
# ERROR HANDLERS
7777

Diff for: services/catalog/src/simcore_service_catalog/core/application.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from servicelib.fastapi.prometheus_instrumentation import (
1010
setup_prometheus_instrumentation,
1111
)
12-
from servicelib.fastapi.tracing import setup_tracing
12+
from servicelib.fastapi.tracing import initialize_tracing
1313
from starlette.middleware.base import BaseHTTPMiddleware
1414

1515
from .._meta import API_VERSION, API_VTAG, APP_NAME, PROJECT_NAME, SUMMARY
@@ -47,7 +47,7 @@ def create_app(settings: ApplicationSettings | None = None) -> FastAPI:
4747
app.state.settings = settings
4848

4949
if settings.CATALOG_TRACING:
50-
setup_tracing(app, settings.CATALOG_TRACING, APP_NAME)
50+
initialize_tracing(app, settings.CATALOG_TRACING, APP_NAME)
5151

5252
# STARTUP-EVENT
5353
app.add_event_handler("startup", create_on_startup(app))

Diff for: services/clusters-keeper/src/simcore_service_clusters_keeper/core/application.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from servicelib.fastapi.prometheus_instrumentation import (
55
setup_prometheus_instrumentation,
66
)
7-
from servicelib.fastapi.tracing import setup_tracing
7+
from servicelib.fastapi.tracing import initialize_tracing
88

99
from .._meta import (
1010
API_VERSION,
@@ -45,7 +45,7 @@ def create_app(settings: ApplicationSettings) -> FastAPI:
4545
if app.state.settings.CLUSTERS_KEEPER_PROMETHEUS_INSTRUMENTATION_ENABLED:
4646
setup_prometheus_instrumentation(app)
4747
if app.state.settings.CLUSTERS_KEEPER_TRACING:
48-
setup_tracing(
48+
initialize_tracing(
4949
app,
5050
app.state.settings.CLUSTERS_KEEPER_TRACING,
5151
APP_NAME,

Diff for: services/datcore-adapter/src/simcore_service_datcore_adapter/core/application.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from servicelib.fastapi.prometheus_instrumentation import (
77
setup_prometheus_instrumentation,
88
)
9-
from servicelib.fastapi.tracing import setup_tracing
9+
from servicelib.fastapi.tracing import initialize_tracing
1010
from servicelib.logging_utils import config_all_loggers
1111

1212
from .._meta import API_VERSION, API_VTAG, APP_NAME
@@ -70,7 +70,7 @@ def create_app(settings: ApplicationSettings | None = None) -> FastAPI:
7070
if app.state.settings.DATCORE_ADAPTER_PROMETHEUS_INSTRUMENTATION_ENABLED:
7171
setup_prometheus_instrumentation(app)
7272
if app.state.settings.DATCORE_ADAPTER_TRACING:
73-
setup_tracing(
73+
initialize_tracing(
7474
app,
7575
app.state.settings.DATCORE_ADAPTER_TRACING,
7676
APP_NAME,

Diff for: services/director-v2/src/simcore_service_director_v2/core/application.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
override_fastapi_openapi_method,
88
)
99
from servicelib.fastapi.profiler import initialize_profiler
10-
from servicelib.fastapi.tracing import setup_tracing
10+
from servicelib.fastapi.tracing import initialize_tracing
1111
from servicelib.logging_utils import config_all_loggers
1212

1313
from .._meta import API_VERSION, API_VTAG, APP_NAME, PROJECT_NAME, SUMMARY
@@ -145,7 +145,7 @@ def init_app(settings: AppSettings | None = None) -> FastAPI:
145145
substitutions.setup(app)
146146

147147
if settings.DIRECTOR_V2_TRACING:
148-
setup_tracing(app, settings.DIRECTOR_V2_TRACING, APP_NAME)
148+
initialize_tracing(app, settings.DIRECTOR_V2_TRACING, APP_NAME)
149149

150150
if settings.DIRECTOR_V0.DIRECTOR_ENABLED:
151151
director_v0.setup(

Diff for: services/director/src/simcore_service_director/core/application.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
from fastapi import FastAPI
55
from servicelib.async_utils import cancel_sequential_workers
6-
from servicelib.fastapi.tracing import setup_tracing
6+
from servicelib.fastapi.tracing import initialize_tracing
77

88
from .._meta import (
99
API_VERSION,
@@ -51,7 +51,7 @@ def create_app(settings: ApplicationSettings) -> FastAPI:
5151
setup_api_routes(app)
5252

5353
if app.state.settings.DIRECTOR_TRACING:
54-
setup_tracing(app, app.state.settings.DIRECTOR_TRACING, APP_NAME)
54+
initialize_tracing(app, app.state.settings.DIRECTOR_TRACING, APP_NAME)
5555

5656
# replace by httpx client
5757
setup_client_session(app)

Diff for: services/dynamic-scheduler/src/simcore_service_dynamic_scheduler/core/application.py

+4-6
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
initialize_prometheus_instrumentation,
1010
lifespan_prometheus_instrumentation,
1111
)
12-
from servicelib.fastapi.tracing import get_lifespan_tracing
12+
from servicelib.fastapi.tracing import initialize_tracing
1313

1414
from .._meta import (
1515
API_VERSION,
@@ -59,11 +59,6 @@ def create_app(settings: ApplicationSettings | None = None) -> FastAPI:
5959
if app_settings.DYNAMIC_SCHEDULER_PROMETHEUS_INSTRUMENTATION_ENABLED:
6060
lifespans.append(lifespan_prometheus_instrumentation)
6161

62-
if app_settings.DYNAMIC_SCHEDULER_TRACING:
63-
lifespans.append(
64-
get_lifespan_tracing(app_settings.DYNAMIC_SCHEDULER_TRACING, APP_NAME)
65-
)
66-
6762
app = FastAPI(
6863
title=f"{PROJECT_NAME} web API",
6964
description=SUMMARY,
@@ -87,6 +82,9 @@ def create_app(settings: ApplicationSettings | None = None) -> FastAPI:
8782

8883
initialize_frontend(app)
8984

85+
if app_settings.DYNAMIC_SCHEDULER_TRACING:
86+
initialize_tracing(app, app_settings.DYNAMIC_SCHEDULER_TRACING, APP_NAME)
87+
9088
if app_settings.DYNAMIC_SCHEDULER_PROFILING:
9189
initialize_profiler(app)
9290

Diff for: services/dynamic-sidecar/src/simcore_service_dynamic_sidecar/core/application.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
get_common_oas_options,
1010
override_fastapi_openapi_method,
1111
)
12-
from servicelib.fastapi.tracing import setup_tracing
12+
from servicelib.fastapi.tracing import initialize_tracing
1313
from servicelib.logging_utils import config_all_loggers
1414
from simcore_sdk.node_ports_common.exceptions import NodeNotFound
1515

@@ -193,7 +193,9 @@ def create_app():
193193
setup_prometheus_metrics(app)
194194

195195
if application_settings.DYNAMIC_SIDECAR_TRACING:
196-
setup_tracing(app, application_settings.DYNAMIC_SIDECAR_TRACING, PROJECT_NAME)
196+
initialize_tracing(
197+
app, application_settings.DYNAMIC_SIDECAR_TRACING, PROJECT_NAME
198+
)
197199

198200
# ERROR HANDLERS ------------
199201
app.add_exception_handler(

Diff for: services/efs-guardian/src/simcore_service_efs_guardian/core/application.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import logging
22

33
from fastapi import FastAPI
4-
from servicelib.fastapi.tracing import setup_tracing
4+
from servicelib.fastapi.tracing import initialize_tracing
55

66
from .._meta import (
77
API_VERSION,
@@ -43,7 +43,7 @@ def create_app(settings: ApplicationSettings | None = None) -> FastAPI:
4343
app.state.settings = app_settings
4444
assert app.state.settings.API_VERSION == API_VERSION # nosec
4545
if app.state.settings.EFS_GUARDIAN_TRACING:
46-
setup_tracing(app, app.state.settings.EFS_GUARDIAN_TRACING, APP_NAME)
46+
initialize_tracing(app, app.state.settings.EFS_GUARDIAN_TRACING, APP_NAME)
4747

4848
# PLUGINS SETUP
4949
setup_rabbitmq(app)

Diff for: services/invitations/src/simcore_service_invitations/core/application.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from servicelib.fastapi.prometheus_instrumentation import (
44
setup_prometheus_instrumentation,
55
)
6-
from servicelib.fastapi.tracing import setup_tracing
6+
from servicelib.fastapi.tracing import initialize_tracing
77

88
from .._meta import (
99
API_VERSION,
@@ -41,7 +41,7 @@ def create_app(settings: ApplicationSettings | None = None) -> FastAPI:
4141
if app.state.settings.INVITATIONS_PROMETHEUS_INSTRUMENTATION_ENABLED:
4242
setup_prometheus_instrumentation(app)
4343
if app.state.settings.INVITATIONS_TRACING:
44-
setup_tracing(app, app.state.settings.INVITATIONS_TRACING, APP_NAME)
44+
initialize_tracing(app, app.state.settings.INVITATIONS_TRACING, APP_NAME)
4545

4646
# ERROR HANDLERS
4747
exceptions_handlers.setup(app)

Diff for: services/payments/src/simcore_service_payments/core/application.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from servicelib.fastapi.prometheus_instrumentation import (
44
setup_prometheus_instrumentation,
55
)
6-
from servicelib.fastapi.tracing import setup_tracing
6+
from servicelib.fastapi.tracing import initialize_tracing
77

88
from .._meta import (
99
API_VERSION,
@@ -71,7 +71,7 @@ def create_app(settings: ApplicationSettings | None = None) -> FastAPI:
7171
if app.state.settings.PAYMENTS_PROMETHEUS_INSTRUMENTATION_ENABLED:
7272
setup_prometheus_instrumentation(app)
7373
if app.state.settings.PAYMENTS_TRACING:
74-
setup_tracing(app, app.state.settings.PAYMENTS_TRACING, APP_NAME)
74+
initialize_tracing(app, app.state.settings.PAYMENTS_TRACING, APP_NAME)
7575

7676
# ERROR HANDLERS
7777
# ... add here ...

Diff for: services/resource-usage-tracker/src/simcore_service_resource_usage_tracker/core/application.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from fastapi import FastAPI
44
from servicelib.fastapi.openapi import override_fastapi_openapi_method
5-
from servicelib.fastapi.tracing import setup_tracing
5+
from servicelib.fastapi.tracing import initialize_tracing
66

77
from .._meta import (
88
API_VERSION,
@@ -67,7 +67,7 @@ def create_app(settings: ApplicationSettings) -> FastAPI:
6767
setup_process_message_running_service(app) # Requires Rabbit
6868

6969
if app.state.settings.RESOURCE_USAGE_TRACKER_TRACING:
70-
setup_tracing(
70+
initialize_tracing(
7171
app,
7272
app.state.settings.RESOURCE_USAGE_TRACKER_TRACING,
7373
app.state.settings.APP_NAME,

0 commit comments

Comments
 (0)