registry.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #!/usr/bin/env python3
  2. # encoding:utf-8
  3. import traceback
  4. # import prometheus_client
  5. from . import app
  6. from typing import Iterable
  7. from prometheus_client import Counter, Gauge, Histogram, Summary
  8. from prometheus_client.core import CollectorRegistry
  9. from prometheus_flask_exporter import PrometheusMetrics
  10. metrics = PrometheusMetrics(app)
  11. # 呼入总量
  12. CALL_INCOMING_REQUESTS = Counter('call_incoming_requests', '呼入总流量', ['bucket'])
  13. CALL_ANSWER_REQUESTS = Counter('call_answer_requests', '总接听量', ['bucket'])
  14. CALL_BOT_ANSWER_REQUESTS = Counter('call_bot_answer_requests', '机器人接听量', ['bucket'])
  15. CALL_TRANSFER_REQUESTS = Counter('call_transfer_requests', '总转人量', ['bucket'])
  16. CALL_BOT_TRANSFER_REQUESTS = Counter('call_bot_transfer_requests', '机器转人量', ['bucket'])
  17. CALL_HANGUP_REQUESTS = Counter('call_hangup_requests', '总挂机量', ['bucket','sip_status'])
  18. CALL_BOT_HANGUP_REQUESTS = Counter('call_bot_hangup_requests', '机器人挂机量', ['bucket','sip_status'])
  19. CALL_BOT_NO_ANSWER_ERROR_REQUESTS = Counter('call_bot_no_answer_error_requests', '机器人未接听异常数', ['bucket','sip_status'])
  20. BOT_REQUEST_COUNT = Counter('bot_request_count', 'Total number of bot requests')
  21. BOT_ASR_408 = Counter('bot_asr_408', 'ASR408 超时次数',['taskId'])
  22. ASR_ERRORS = Counter( 'asr_error_codes', 'Count of ASR error codes', ['errorCode'])
  23. # esl时间耗时
  24. ESL_EVENT_LATENCY = Histogram('esl_event_latency', 'Esl Event latency in seconds', ['eventName'])
  25. ESL_EVENT_CALLBACK_LATENCY = Histogram('esl_event_callback_latency', 'Esl Event callback latency in seconds', ['eventName','callType'])
  26. BOT_CALL_DURATION = Histogram('bot_call_duration', '通话时长',['taskId'])
  27. BOT_REQUEST_ONCE_LATENCY = Histogram('bot_request_once_latency','请求机器人单次耗时',['taskId'])
  28. BOT_REQUEST_LATENCY = Histogram('bot_request_latency','请求机器人耗时',['taskId'])
  29. BOT_INTERACTION_ROUNDS = Histogram('bot_interaction_rounds', '机器人交互轮次',['taskId'] )
  30. BOT_CREATE_ACCOUNT_LATENCY = Histogram('bot_create_account_latency', '创建虚拟机器人耗时')
  31. FLASK_ACTIVE_THREADS = Gauge('flask_active_threads', 'Number of active threads')
  32. BOT_AGENT_LIVES = Gauge('bot_agent_lives', 'Number of active agents')