diff --git a/docs/source/reference/monitoring.md b/docs/source/reference/monitoring.md index a1a01635..a3649c82 100644 --- a/docs/source/reference/monitoring.md +++ b/docs/source/reference/monitoring.md @@ -18,3 +18,17 @@ tool like [Grafana](https://grafana.com). /reference/metrics ``` + +## Customizing the metrics prefix + +JupyterHub metrics all have a `jupyterhub_` prefix. +As of JupyterHub 5.0, this can be overridden with `$JUPYTERHUB_METRICS_PREFIX` environment variable +in the Hub's environment. + +For example, + +```bash +export JUPYTERHUB_METRICS_PREFIX=jupyterhub_prod +``` + +would result in the metric `jupyterhub_prod_active_users`, etc. diff --git a/jupyterhub/metrics.py b/jupyterhub/metrics.py index 23b37d55..c3bfd42d 100644 --- a/jupyterhub/metrics.py +++ b/jupyterhub/metrics.py @@ -6,6 +6,8 @@ conventions for metrics & labels. We generally prefer naming them `__`. So a histogram that's tracking the duration (in seconds) of servers spawning would be called server_spawn_duration_seconds. +A namespace prefix is always added, so this metric is accessed as +`jupyterhub_server_spawn_duration_seconds` by default. We also create an Enum for each 'status' type label in every metric we collect. This is to make sure that the metrics exist regardless