From 60de7857d6f1647503ea5ca84b117ebd8d0aeac1 Mon Sep 17 00:00:00 2001 From: Jenny Danzmayr Date: Fri, 20 Sep 2024 01:09:45 +0200 Subject: [PATCH] combine all prometheus metrics in one view --- src/c3nav/mapdata/views.py | 7 +++++-- src/c3nav/urls.py | 7 +++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/c3nav/mapdata/views.py b/src/c3nav/mapdata/views.py index 524d7237..389dcdca 100644 --- a/src/c3nav/mapdata/views.py +++ b/src/c3nav/mapdata/views.py @@ -484,10 +484,13 @@ def get_cache_package(request, filetype): return response -def api_stats_exporter(request): +def prometheus_exporter(request): """Exports the API metrics for Prometheus""" import prometheus_client + from django_prometheus.exports import ExportToDjangoView from c3nav.mapdata.metrics import REGISTRY metrics_page = prometheus_client.generate_latest(REGISTRY) - return HttpResponse(metrics_page, content_type=prometheus_client.CONTENT_TYPE_LATEST) + response = ExportToDjangoView(request) + response.content += metrics_page + return response diff --git a/src/c3nav/urls.py b/src/c3nav/urls.py index a78481f9..de4f714f 100644 --- a/src/c3nav/urls.py +++ b/src/c3nav/urls.py @@ -50,11 +50,10 @@ if settings.SERVE_ANYTHING: if settings.METRICS: with suppress(ImportError): - import django_prometheus.urls # noqu - from c3nav.mapdata.views import api_stats_exporter + import django_prometheus # noqu + from c3nav.mapdata.views import prometheus_exporter urlpatterns += [ - path('prometheus/api_metrics', api_stats_exporter), - path('prometheus/', include(django_prometheus.urls)), + path('prometheus/metrics', prometheus_exporter, name='prometheus-exporter'), ] if settings.SSO_ENABLED: