Add metric for total GraphQL queries

This commit is contained in:
Jeremy Stretch 2025-07-28 15:38:53 -04:00
parent 55e1929744
commit 16aa8d3a3f
2 changed files with 13 additions and 1 deletions

View File

@ -30,3 +30,11 @@ class Metrics(middleware.Metrics):
["view", "method"], ["view", "method"],
namespace=NAMESPACE, namespace=NAMESPACE,
) )
# GraphQL API metrics
self.graphql_api_requests = self.register_metric(
Counter,
"graphql_api_requests_total",
"Count of total GraphQL API requests",
namespace=NAMESPACE,
)

View File

@ -13,7 +13,7 @@ from django_prometheus import middleware
from netbox.config import clear_config, get_config from netbox.config import clear_config, get_config
from netbox.metrics import Metrics from netbox.metrics import Metrics
from netbox.views import handler_500 from netbox.views import handler_500
from utilities.api import is_api_request from utilities.api import is_api_request, is_graphql_request
from utilities.error_handlers import handle_rest_api_exception from utilities.error_handlers import handle_rest_api_exception
from utilities.request import apply_request_processors from utilities.request import apply_request_processors
@ -201,6 +201,10 @@ class PrometheusAfterMiddleware(middleware.PrometheusAfterMiddleware):
self.label_metric(self.metrics.rest_api_requests, request, method=method).inc() self.label_metric(self.metrics.rest_api_requests, request, method=method).inc()
self.label_metric(self.metrics.rest_api_requests_by_view_method, request, method=method, view=name).inc() self.label_metric(self.metrics.rest_api_requests_by_view_method, request, method=method, view=name).inc()
# Increment GraphQL API request counters
elif is_graphql_request(request):
self.metrics.graphql_api_requests.inc()
return response return response