Skip to content

Commit aaceae8

Browse files
committed
Add prometheus info metrics listing server extensions + versions
Follow-up to jupyter-server#1467.
1 parent b3e47ed commit aaceae8

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

Diff for: jupyter_server/prometheus/metrics.py

+1
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353

5454
# New prometheus metrics that do not exist in notebook v6 go here
5555
SERVER_INFO = Info("jupyter_server", "Jupyter Server Version information")
56+
SERVER_EXTENSION_INFO = Info("jupyter_server_extension", "Jupyter Server Extensiom Version Information", ["extension_name", "package_name", "version", "enabled"])
5657

5758
__all__ = [
5859
"HTTP_REQUEST_DURATION_SECONDS",

Diff for: jupyter_server/serverapp.py

+9-1
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@
110110
GatewaySessionManager,
111111
)
112112
from jupyter_server.log import log_request
113-
from jupyter_server.prometheus.metrics import SERVER_INFO
113+
from jupyter_server.prometheus.metrics import SERVER_INFO, SERVER_EXTENSION_INFO
114114
from jupyter_server.services.config import ConfigManager
115115
from jupyter_server.services.contents.filemanager import (
116116
AsyncFileContentsManager,
@@ -2703,6 +2703,14 @@ def init_metrics(self) -> None:
27032703
"""
27042704
SERVER_INFO.info({"version": __version__})
27052705

2706+
for k, ext in self.extension_manager.extensions.items():
2707+
SERVER_EXTENSION_INFO.labels(
2708+
package_name=k,
2709+
extension_name=ext.name,
2710+
version=ext.version,
2711+
enabled=str(ext.enabled).lower()
2712+
)
2713+
27062714
@catch_config_error
27072715
def initialize(
27082716
self,

0 commit comments

Comments
 (0)