if there are any tests/debugging you'd like me to try, just let me know
which I looked at previously to see if I could import sagemaker.kg or kernelgateway or something, but no luck
As in, which tab when I'm viewing the Experiment should I see it on? Should it be code, an artifact, or something else?
right now I can't figure out how to get the session in order to get the notebook path
you mean the code that fires "HTTPConnectionPool" ?
but one possible workaround is to try to figure out if it's running in a gateway and then find the only notebook running on that server
What happens when you call:
from clearml.backend_interface.task.repo import ScriptInfo
print(ScriptInfo._ScriptInfo__legacy_jupyter_notebook_server_json_parsing(None))
but the only exception handler is for requests.exceptions.SSLError
if I instead change the request url to f"http://{server_info['hostname']}:{server_info['port']}/api/sessions"
then it gets a 200 response... however , the response is an empty list
What do you have in "server_info['url']" ?
Hmm what do you have here?
os.system("cat /var/log/studio/kernel_gateway.log")
but maybe that doesn't matter, actually - it might be one session per host I guess
so my reading of the jupyter-kernel-gateway
docs is that each session is containerized, so each notebook "session" is totally isolated
This is very odd ... let me check something
I additionally tried using a Sagemaker Notebook instance, to see if it was the kernel dockerization that Studio uses that was messing things up. But it seems to actually log less information from a Notebook instance vs Studio .
This is strange, let me see if we can get around it, because I'm sure it worked 🙂
I think it just ends up in /home/sagemaker-user/{notebook}.ipynb
every time
Yep I think you are correct, you should have had the same output as a local jupyter notebook, and it seems that in sagemaker studio it is not working 😞
Let me check something
Yes, I'm running a notebook in Studio. Where should it be captured?
seems like it's using None and that doesn't provide the normal api/sessions
endpoint - or, it does, but returns an empty list
nice! Just tested it on my end as well, looks like it works!
api/kernels
does report back the active kernel, but doesn't give notebook paths or anything