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: