METRCIS→METRICS

This commit is contained in:
Laura Klünder 2024-03-30 22:12:27 +01:00
parent 9279e03636
commit bf9d113677
6 changed files with 19 additions and 14 deletions

View file

@ -81,6 +81,7 @@ def api_etag(permissions=True, etag_func=AccessPermission.etag_func, base_mapdat
def api_stats(stat_name):
if settings.METRICS:
from c3nav.mapdata.metrics import APIStatsCollector
APIStatsCollector.add_stat(stat_name, ['by', 'query'])
def wrapper(func):

View file

@ -7,7 +7,7 @@ from django.core.cache import cache
from c3nav.mapdata.models.report import Report
if settings.METRCIS:
if settings.METRICS:
from prometheus_client import Gauge
from prometheus_client.core import REGISTRY, CounterMetricFamily
from prometheus_client.registry import Collector

View file

@ -1,12 +1,12 @@
from typing import Annotated, Union
from django.conf import settings
from django.core.exceptions import ValidationError
from ninja import Field as APIField
from ninja import Router as APIRouter
from c3nav.api.auth import auth_responses
from c3nav.api.schema import BaseSchema
from c3nav.mapdata.metrics import APIStatsCollector
from c3nav.mapdata.models.access import AccessPermission
from c3nav.mapdata.schemas.models import CustomLocationSchema
from c3nav.mapdata.utils.cache.stats import increment_cache_key
@ -52,6 +52,8 @@ def get_position(request, parameters: LocateRequestSchema):
}
if settings.METRICS:
from c3nav.mapdata.metrics import APIStatsCollector
APIStatsCollector.add_stat('locate', 'location')

View file

@ -2,6 +2,7 @@ from enum import StrEnum
from typing import Annotated, Any, Optional, Union
from django.core.exceptions import ValidationError
from django.conf import settings
from django.urls import reverse
from django.utils.translation import gettext_lazy as _
from ninja import Field as APIField
@ -14,7 +15,6 @@ from c3nav.api.exceptions import APIRequestValidationFailed
from c3nav.api.schema import BaseSchema
from c3nav.api.utils import NonEmptyStr
from c3nav.mapdata.api.base import api_stats_clean_location_value
from c3nav.mapdata.metrics import APIStatsCollector
from c3nav.mapdata.models.access import AccessPermission
from c3nav.mapdata.models.locations import Position
from c3nav.mapdata.schemas.model_base import AnyLocationID, Coordinates3D
@ -252,6 +252,8 @@ def get_route(request, parameters: RouteParametersSchema):
)
if settings.METRICS:
from c3nav.mapdata.metrics import APIStatsCollector
APIStatsCollector.add_stat('route')
APIStatsCollector.add_stat('route_tuple', ['origin', 'destination'])
APIStatsCollector.add_stat('route_origin', ['origin'])

View file

@ -393,8 +393,8 @@ with suppress(ImportError):
import django_extensions # noqa
INSTALLED_APPS.append('django_extensions')
METRCIS = config.getboolean('c3nav', 'metrics', fallback=False)
if METRCIS:
METRICS = config.getboolean('c3nav', 'metrics', fallback=False)
if METRICS:
try:
import django_prometheus # noqa
INSTALLED_APPS.append('django_prometheus')
@ -404,7 +404,7 @@ if METRCIS:
'django_prometheus.middleware.PrometheusAfterMiddleware',
]
except ImportError:
METRCIS = False
METRICS = False
# Security settings
X_FRAME_OPTIONS = 'DENY'

View file

@ -48,7 +48,7 @@ if settings.SERVE_ANYTHING:
import debug_toolbar
urlpatterns.insert(0, path('__debug__/', include(debug_toolbar.urls)))
if settings.METRCIS:
if settings.METRICS:
with suppress(ImportError):
import django_prometheus # noqu
urlpatterns.insert(0, path('prometheus/', include('django_prometheus.urls')))