-
-
Notifications
You must be signed in to change notification settings - Fork 16
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
Straw design document for EventLogging #2
Conversation
This pull request has been mentioned on Jupyter Community Forum. There might be relevant details there: https://discourse.jupyter.org/t/potential-collaboration-on-user-research/866/15 |
The rendered version of this document is here. I'll try doing a readability editing pass tomorrow. |
@yuvipanda: This is a great start and thanks for writing this up. My initial comments below:
I believe the Javascript part needs to be more than just a convenience API. There are quite a few frameworks that send events directly from the browser (Google Analytics, Azure, AWS Amplify) so the round-trip to the server can be avoided. Also, many JupyterLabs extensions are frontend only and can function without any extra server component. I'd propose a top level item to be able to have first class support for JupyterLab. This is analogous to the The sub-items here would be:
This is covering 2 personas - the end user and the operator/admin. I'd suggest breaking this down into two.
|
Thank you for the feedback and perspective, @jaipreet-s. I've:
This makes sense. I'll think about this a little more and add this to the doc. The doc could also use an editing pass. I'll try to do that next week before the beginning of the kickoff meeting. |
@yuvipanda: Can we merge this in a draft state so that folks can start contributing to the design via PRs to this repo |
@jaipreet-s I like that! Pinging @Zsailer or @ellisonbg who might be willing to merge it. |
I don't have merge rights to this repo, unfortunately, but I agree. Let's merge and iterate. I'll work on getting merge rights. |
Okay, I'm going to merge this so we can iterate. Thanks, Yuvi, for starting this discussion! |
Even though we already merged this, I'll leave comments here and update documents with a PR after discussion. |
|
||
## JupyterHub | ||
|
||
## Notebook Server |
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.
IMO, we should move forward with Jupyter Server, since that's the future implementation of the notebook server. I think Jupyter Server will be ready before telemetry is ready, so it would be easier to focus our work there.
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'm guessing most of the events that are going to be emitted is going to be from the notebook REST APIs, kernel spawning, etc. Will that be also on Jupyter Server?
|
||
## Notebook Server | ||
|
||
## Classic Notebook? |
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.
Since the notebook is on its way out, should we worry about adding telemetry to the notebook API and frontend? My vote is that we focus on Jupyter Server for backend and and JupyterLab for client-side telemetry.
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.
My vote is that we focus on Jupyter Server for backend and and JupyterLab for client-side telemetry.
+1 - This is not saying we should completely drop support for Jupyter Classic, but we should be JupyterLab first
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 agree. However, in the pedagogy world, classic notebook isn't going away for many many years. It makes sense for the Jupyter community / JupyterLab devs to focus on JupyterLab first, but we should make sure we don't make active choices that preclude classic notebook use.
|
||
## Classic Notebook? | ||
|
||
## Kernels? |
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.
👍 Collecting kernel events is something I've heard many people want. Obviously, the number of events can get very large, so we'll need to design something extensible to handle this.
This is a strawman design document for telemetry / eventlogging
across the Jupyter ecosystem. The focus is particularly on
the notebook server, JupyterLab, JupyterHub, and related projects.
This is a PR to make it easy for folks to discuss, amend and comment
on. Please see this as a super-early first-pass. I expect a lot of
amendments and discussion from various stakeholders before we go
anywhere. I think a document like this is very useful to focus
discussion, but am happy to use other ways to move things forward
too.
There's a companion PR,
with a working prototype demo of the system described here.
TLDR is: check out this binder link,
and do some things, and look at the
events.log
file. Moreinfo in the PR itself.
Lots of bits here are from conversations over time with @ellisonbg,
@jasongrout, @minrk, @Zsailer, @ian-r-rose, @betatim, @davclark
and many others I am surely forgetting. It's also unduly influenced
by my time at Wikimedia.
See also active discussion from many participants here,
here, here and here.
I'm sure I've missed many other places.
Please check out the demo, and comment here! <3