-
Notifications
You must be signed in to change notification settings - Fork 17
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
Improve traceability between currently-running tests and Coiled resources they create #267
Comments
+1 thanks for opening an issue on this, I've been meaning to get to it |
This in particular has been challenging to do in combination with |
@ian-r-rose does that only apply to logging, or all stdout? Print statements and |
It's been a bit since I looked at it, but my recollection is that
Don't reveal to the world my debugging techniques! |
Noting that clusters can now be tagged (see https://docs.coiled.io/user_guide/cluster_creation.html#tags). We could probably make use of this to improve test/cluster/etc. traceability cc @ntabris for visibility |
I just saw this, but last time I tried what I found was, in gHA CI print statements with -s and xdist didn't work. I also tried logging and it only worked when having failures otherwise they were swallowed. Some of the discussion was here #107 (comment) related to pytest-dev/pytest-xdist#402 |
Closing : This discussion seems stale since now we do have easier traceability from the dashboard plot to the database table which has links to the cluster. |
The issue was also about currently-running tests, which AFAIK you still can't map to currently-running clusters? The linking in the static HTML files works for checking on things after the fact, but if you're developing new tests, or running tests to debug them, I think it's still hard to figure out which cluster they're running on. See https://github.com/gjoseph92/snakebench#mapping-between-coiled-clusters-and-the-tests-running-them for an example of the sort of deterministic, hierarchical naming I was talking about. |
My bad, you are right this is still a problem. AFAIK we still have the logging problem with xdist so that is not an option. I'll re-open this. |
Yeah, xdist makes printing info hard. But again, see the snakebench naming scheme: https://github.com/gjoseph92/snakebench/blob/8c6cda1f11e0f27e17bf7234ab1e66d040b3fe81/snakebench/core.py#L73-L92. When you see a cluster like |
Tests generally create Coiled resources (clusters & software environments) with a pattern like
"{test/module name}_{random UUID}"
. Especially when multiple GitHub actions are running the same tests against different python versions and platforms, this can make it very hard to track down which cluster a particular test is running on. (See #243 (comment) for an example.)It would be nice to have a naming scheme that's more meaningful and hierarchical. Some ideas:
client.run
or something to print in all the worker and scheduler logs which test is about to run. When tests fail, this would make parsing logs a lot more meaningful.cc @ian-r-rose @ncclementi @jrbourbeau
The text was updated successfully, but these errors were encountered: