mirror of
https://github.com/ansible/awx.git
synced 2026-01-26 16:11:30 -03:30
44 lines
1.2 KiB
Python
44 lines
1.2 KiB
Python
# Copyright (c) 2018 Red Hat, Inc.
|
|
# All Rights Reserved.
|
|
|
|
# Python
|
|
import logging
|
|
|
|
# Django
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
# Django REST Framework
|
|
from rest_framework.response import Response
|
|
from rest_framework.exceptions import PermissionDenied
|
|
|
|
|
|
# AWX
|
|
# from awx.main.analytics import collectors
|
|
import awx.main.analytics.subsystem_metrics as s_metrics
|
|
from awx.main.analytics.metrics import metrics
|
|
from awx.api import renderers
|
|
|
|
from awx.api.generics import APIView
|
|
|
|
|
|
logger = logging.getLogger('awx.analytics')
|
|
|
|
|
|
class MetricsView(APIView):
|
|
|
|
name = _('Metrics')
|
|
swagger_topic = 'Metrics'
|
|
|
|
renderer_classes = [renderers.PlainTextRenderer, renderers.PrometheusJSONRenderer, renderers.BrowsableAPIRenderer]
|
|
|
|
def get(self, request):
|
|
'''Show Metrics Details'''
|
|
if request.user.is_superuser or request.user.is_system_auditor:
|
|
metrics_to_show = ''
|
|
if not request.query_params.get('subsystemonly', "0") == "1":
|
|
metrics_to_show += metrics().decode('UTF-8')
|
|
if not request.query_params.get('dbonly', "0") == "1":
|
|
metrics_to_show += s_metrics.metrics(request)
|
|
return Response(metrics_to_show)
|
|
raise PermissionDenied()
|