-
Notifications
You must be signed in to change notification settings - Fork 110
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Set initial state in gui for forward model steps #9864
Conversation
CodSpeed Performance ReportMerging #9864 will not alter performanceComparing Summary
|
56a53b3
to
444d6d0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very good change! Just a small question, see comment 👍
@@ -126,7 +127,7 @@ def test_memory_profile_is_logged_as_csv(): | |||
with open(scriptname, "w", encoding="utf-8") as script: | |||
script.write( | |||
"""#!/bin/sh | |||
exit 0 | |||
sleep 6 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why sleep 6
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To get the running event, and therefore the memory data. But should probably mock the memory poll interval value instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would go for mocking the poll interval, yes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure how to fix this, since we launch the reporter in another process so is it possible at all to mock the value?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed by calling main function instead of using subprocess.
Very nice PR @larsevj !
|
176811d
to
c429eb4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very good! Have you tested manually with bigpoly?
…del steps - Introduces an initial state for the forward model steps equal to "pending" to differentiate from the starting state - Changes the starting state from "pending" to "running" since we already start populating the duration field in the gui.
…step - This avoids sending the running message directly after sending the start message. For short running fm_steps this will avoid sending 3 events in short succesion. Downside is that this will not provide the metadata from the running message such as memory consumption, but this is observed as unreliable for short running jobs anyway.
c429eb4
to
3a0898f
Compare
Can confirm that this has been tested manually with bigpoly, reduces running time by ~10-20%, and cannot see much difference in gui behaviour apart from missing max memory usage for the small running steps. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice @larsevj ! Let's ship it 🚀
Introduces a new state equal to pending which is the initial state of a forward model step. When we receive a fm_step_start event we should instead display running.
This also allows for modifying the logic in fm_step_reporter such that it does not send a running event immediately after a start event. This should reduce the number of events that we receive from jobs that run < 5 seconds.
git rebase -i main --exec 'pytest tests/ert/unit_tests tests/everest -n auto --hypothesis-profile=fast -m "not integration_test"'
)When applicable