4646from models_library .projects_nodes_io import LocationID , SimcoreS3FileID , StorageFileID
4747from models_library .users import UserID
4848from models_library .utils .fastapi_encoders import jsonable_encoder
49+ from opentelemetry .sdk .trace .export .in_memory_span_exporter import InMemorySpanExporter
4950from pydantic import ByteSize , TypeAdapter
5051from pytest_mock import MockerFixture
5152from pytest_simcore .helpers .fastapi import url_from_operation_id
105106 "pytest_simcore.simcore_storage_data_models" ,
106107 "pytest_simcore.simcore_storage_datcore_adapter" ,
107108 "pytest_simcore.simcore_storage_service" ,
109+ "pytest_simcore.tracing" ,
108110]
109111
110112CURRENT_DIR = Path (sys .argv [0 ] if __name__ == "__main__" else __file__ ).resolve ().parent
@@ -188,6 +190,19 @@ def disabled_rabbitmq(app_environment: EnvVarsDict, monkeypatch: pytest.MonkeyPa
188190 monkeypatch .setenv ("STORAGE_RABBITMQ" , "null" )
189191
190192
193+ @pytest .fixture
194+ def enable_tracing (
195+ app_environment : EnvVarsDict ,
196+ monkeypatch : pytest .MonkeyPatch ,
197+ mock_otel_collector_fastapi : InMemorySpanExporter ,
198+ ):
199+ monkeypatch .setenv ("STORAGE_TRACING" , "{}" )
200+ monkeypatch .setenv (
201+ "TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT" , "http://opentelemetry-collector"
202+ )
203+ monkeypatch .setenv ("TRACING_OPENTELEMETRY_COLLECTOR_PORT" , "4318" )
204+
205+
191206@pytest .fixture
192207def enabled_rabbitmq (
193208 app_environment : EnvVarsDict , rabbit_service : RabbitSettings
@@ -203,6 +218,7 @@ async def mocked_redis_server(mocker: MockerFixture) -> None:
203218
204219@pytest .fixture
205220def app_settings (
221+ enable_tracing ,
206222 app_environment : EnvVarsDict ,
207223 enabled_rabbitmq : RabbitSettings ,
208224 sqlalchemy_async_engine : AsyncEngine ,
0 commit comments