ideonate / cdsdashboards

JupyterHub extension for ContainDS Dashboards
https://cdsdashboards.readthedocs.io/
Other
201 stars 37 forks source link

Improve debugging experience with access to log #68

Open MarcSkovMadsen opened 3 years ago

MarcSkovMadsen commented 3 years ago

I know from experience that many users who have never tried "deploying" applications and apis will have a hard time. Their applications will crash due to missing requirements, windows/ linux issues, timezone issues and lack of error handling. That will lead to frustration.

As far as I can see the users cannot see any logs for their applications. Easy access to logs - even just the last 100 lines of their application log would make an enormous difference. Also for people like me when supporting my colleagues.

The solution should be very quick to use. Just a button to click or a url to open. No additional authorization required.

A Bokeh/ Panel solution for Bokeh/ Panel would be to direct the log to a file and add an endpoint /admin or /logs that displays the log from the file. An alternative would be to just write directly to the upcoming Panel Terminal. See https://github.com/holoviz/panel/pull/2090. The reference example contains an example of redirecting the log. See https://github.com/holoviz/panel/blob/d8d5135f6418bf576ef7e0edcda92aac850c86b0/examples/reference/widgets/Terminal.ipynb

MarcSkovMadsen commented 3 years ago

For example right now I am trying to test deploying a Bokeh App using ContainDS. And it is not starting. And I have no way of knowing whether packages are missing, some paths to files do not makes sense in the ContainDS context or something else is wrong.

danlester commented 3 years ago

Definitely. I'm sure you've seen that jhsingle-native-proxy attempts to display an HTML page of what's going on if things don't work out early on, but not general logs if the app sort-of works (i.e. doesn't time out).