diff --git a/awx/main/analytics/metrics.py b/awx/main/analytics/metrics.py index 9a41e51be0..67c295071a 100644 --- a/awx/main/analytics/metrics.py +++ b/awx/main/analytics/metrics.py @@ -3,6 +3,7 @@ from prometheus_client import CollectorRegistry, Gauge, Info, generate_latest from awx.conf.license import get_license from awx.main.utils import get_awx_version +from awx.main.models import UnifiedJob from awx.main.analytics.collectors import ( counts, instance_info, @@ -169,8 +170,9 @@ def metrics(): all_job_data = job_counts(None) statuses = all_job_data.get('status', {}) - for status, value in statuses.items(): - STATUS.labels(status=status).set(value) + states = set(dict(UnifiedJob.STATUS_CHOICES).keys()) - set(['new']) + for state in states: + STATUS.labels(status=state).set(statuses.get(state, 0)) RUNNING_JOBS.set(current_counts['running_jobs']) PENDING_JOBS.set(current_counts['pending_jobs']) diff --git a/awx/main/tests/functional/analytics/test_metrics.py b/awx/main/tests/functional/analytics/test_metrics.py index 27fb84745e..6192d4e9bd 100644 --- a/awx/main/tests/functional/analytics/test_metrics.py +++ b/awx/main/tests/functional/analytics/test_metrics.py @@ -19,8 +19,7 @@ EXPECTED_VALUES = { 'awx_hosts_total': 1.0, 'awx_schedules_total': 1.0, 'awx_sessions_total': 0.0, - 'awx_sessions_total': 0.0, - 'awx_sessions_total': 0.0, + 'awx_status_total': 0.0, 'awx_running_jobs_total': 0.0, 'awx_instance_capacity': 100.0, 'awx_instance_consumed_capacity': 0.0,