Skip to content

Commit 3e24f50

Browse files
committed
Add span for realizations
1 parent 2d2132b commit 3e24f50

File tree

1 file changed

+26
-24
lines changed

1 file changed

+26
-24
lines changed

src/ert/scheduler/job.py

+26-24
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
from ert.constant_filenames import ERROR_file
1818
from ert.load_status import LoadStatus
1919
from ert.storage.realization_storage_state import RealizationStorageState
20+
from ert.trace import tracer
2021

2122
from .driver import Driver, FailedSubmit
2223

@@ -147,30 +148,31 @@ async def run(
147148
checksum_lock: asyncio.Lock,
148149
max_submit: int = 1,
149150
) -> None:
150-
self._requested_max_submit = max_submit
151-
for attempt in range(max_submit):
152-
await self._submit_and_run_once(sem)
153-
154-
if self.returncode.cancelled() or self._scheduler._cancelled:
155-
break
156-
157-
if self.returncode.result() == 0:
158-
if self._scheduler._manifest_queue is not None:
159-
await self._verify_checksum(checksum_lock)
160-
async with forward_model_ok_lock:
161-
await self._handle_finished_forward_model()
162-
break
163-
164-
if attempt < max_submit - 1:
165-
message = (
166-
f"Realization {self.iens} failed, "
167-
f"resubmitting for attempt {attempt+2} of {max_submit}"
168-
)
169-
logger.warning(message)
170-
self.returncode = asyncio.Future()
171-
self.started.clear()
172-
else:
173-
await self._send(JobState.FAILED)
151+
with tracer.start_as_current_span(f"{__name__}.run.realization_{self.iens}"):
152+
self._requested_max_submit = max_submit
153+
for attempt in range(max_submit):
154+
await self._submit_and_run_once(sem)
155+
156+
if self.returncode.cancelled() or self._scheduler._cancelled:
157+
break
158+
159+
if self.returncode.result() == 0:
160+
if self._scheduler._manifest_queue is not None:
161+
await self._verify_checksum(checksum_lock)
162+
async with forward_model_ok_lock:
163+
await self._handle_finished_forward_model()
164+
break
165+
166+
if attempt < max_submit - 1:
167+
message = (
168+
f"Realization {self.iens} failed, "
169+
f"resubmitting for attempt {attempt+2} of {max_submit}"
170+
)
171+
logger.warning(message)
172+
self.returncode = asyncio.Future()
173+
self.started.clear()
174+
else:
175+
await self._send(JobState.FAILED)
174176

175177
async def _max_runtime_task(self) -> None:
176178
assert self.real.max_runtime is not None

0 commit comments

Comments
 (0)