Преглед на файлове

Merge branch 'develop' into dev_20241205

root преди 5 месеца
родител
ревизия
829f1a6cca
променени са 3 файла, в които са добавени 12 реда и са изтрити 4 реда
  1. 2 2
      src/core/callcenter/__init__.py
  2. 8 1
      src/core/callcenter/views.py
  3. 2 1
      src/core/registry.py

+ 2 - 2
src/core/callcenter/__init__.py

@@ -7,7 +7,7 @@ from .config import BaseConfig
 from flask import Flask, request, render_template_string
 from flask_sqlalchemy import SQLAlchemy
 from flask_cors import CORS
-from prometheus_flask_exporter import PrometheusMetrics
+# from prometheus_flask_exporter import PrometheusMetrics
 from .constant import error_response
 from .exception import BizException
 
@@ -17,7 +17,7 @@ logging.getLogger('apscheduler').setLevel(logging.CRITICAL)
 
 def create_app():
     _app = Flask(__name__)
-    _metrics = PrometheusMetrics(_app)
+    # _metrics = PrometheusMetrics(_app)
     # 添加配置文件
     _app.config.from_object(BaseConfig)
 

+ 8 - 1
src/core/callcenter/views.py

@@ -5,13 +5,14 @@ from src.core.callcenter.agent import AgentService, AgentOperService
 from src.core.callcenter.constant import success_response, error_response
 from src.core.callcenter.enumeration import CallType
 from src.core.callcenter.esl.client import InboundClient, OutboundClient
-from flask import Flask, request, render_template_string
+from flask import Flask, request, render_template_string, Response
 
 from src.core.callcenter.call import CallService
 from src.core.callcenter.api import AgentCallRequest, AgentActionRequest, HangupCallRequest, \
     HumanServiceQueryRequest
 from src.core.voip.bot import BotAgent
 from .acd import AcdService
+from src.core.registry import generate_latest
 
 agent = BotAgent(app)
 inbound_client = InboundClient(agent,app)
@@ -21,6 +22,8 @@ agent_service = AgentService(app)
 agent_oper_service = AgentOperService(app)
 acd_service = AcdService(inbound_client, app)
 agent.acd_service = acd_service
+CONTENT_TYPE_LATEST = str('text/plain; version=0.0.4; charset=utf-8')
+
 
 
 @app.route('/')
@@ -190,3 +193,7 @@ def num_generate():
     return success_response(flow_id)
 
 
+@app.route('/metrics', methods=['GET'])
+def get_data():
+    """Returns all data as plaintext."""
+    return Response(generate_latest(), mimetype=CONTENT_TYPE_LATEST)

+ 2 - 1
src/core/registry.py

@@ -3,7 +3,8 @@
 
 import prometheus_client
 from typing import Iterable
-from prometheus_client import Counter, Gauge, Histogram, Summary
+from prometheus_client import Counter, Gauge, Histogram, Summary, start_http_server, generate_latest
+
 from prometheus_client.core import CollectorRegistry