mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-07 10:04:07 +00:00
Resolved items as guided by @minrk comments
This commit is contained in:
42
docs/source/reference/event-logging.md
Normal file
42
docs/source/reference/event-logging.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# Event logging and telemetry
|
||||
|
||||
JupyterHub can be configured to record structured events from a running server using Jupyter's [Telemetry System]. The types of events that JupyterHub emits are defined by [JSON schemas] listed at the bottom of this [page].
|
||||
|
||||
## How to emit events
|
||||
|
||||
Event logging is handled by its `Eventlog` object. This leverages Python's standing [logging] library to emit, filter, and collect event data.
|
||||
|
||||
To begin recording events, you'll need to set two configurations:
|
||||
|
||||
> 1. `handlers`: tells the EventLog _where_ to route your events. This trait is a list of Python logging handlers that route events to the event log file.
|
||||
> 2. `allows_schemas`: tells the EventLog _which_ events should be recorded. No events are emitted by default; all recorded events must be listed here.
|
||||
|
||||
Here's a basic example:
|
||||
|
||||
```
|
||||
import logging
|
||||
|
||||
c.EventLog.handlers = [
|
||||
logging.FileHandler('event.log'),
|
||||
]
|
||||
|
||||
c.EventLog.allowed_schemas = [
|
||||
'hub.jupyter.org/server-action'
|
||||
]
|
||||
```
|
||||
|
||||
The output is a file, `"event.log"`, with events recorded as JSON data.
|
||||
|
||||
(page)=
|
||||
|
||||
## Event schemas
|
||||
|
||||
```{toctree}
|
||||
:maxdepth: 2
|
||||
|
||||
server-actions
|
||||
```
|
||||
|
||||
[json schemas]: https://json-schema.org/
|
||||
[logging]: https://docs.python.org/3/library/logging.html
|
||||
[telemetry system]: https://github.com/jupyter/telemetry
|
Reference in New Issue
Block a user