Open
Description
"My kernel restarted, why?" is one of the most common support questions when supporting JupyterHubs. Being able to tell when a kernel was restarted - ideally being able to differentiate between user initiated restarts and nanny initiated restarts - would be extremely helpful to JupyterHub admins in providing this support, as well as detecting when memory limits and guarantees need to be changed (because too many users are running into memory limits)