25 lines
863 B
Python
25 lines
863 B
Python
|
|
import logging
|
||
|
|
from flask import Blueprint, request, jsonify
|
||
|
|
|
||
|
|
from lib import monitor
|
||
|
|
|
||
|
|
monitor_api_bp = Blueprint('monitor_api', __name__)
|
||
|
|
logger = logging.getLogger(__name__)
|
||
|
|
|
||
|
|
|
||
|
|
@monitor_api_bp.route('/api/monitor/requests', methods=['GET'])
|
||
|
|
def monitor_requests():
|
||
|
|
status = request.args.get('status') or None
|
||
|
|
keyword = request.args.get('q') or None
|
||
|
|
limit = request.args.get('limit', 200)
|
||
|
|
items = monitor.query_requests(status=status, keyword=keyword, limit=limit)
|
||
|
|
return jsonify({'success': True, 'requests': items})
|
||
|
|
|
||
|
|
|
||
|
|
@monitor_api_bp.route('/api/monitor/requests/<trace_id>', methods=['GET'])
|
||
|
|
def monitor_request_detail(trace_id):
|
||
|
|
entry = monitor.get_request(trace_id)
|
||
|
|
if not entry:
|
||
|
|
return jsonify({'success': False, 'message': '未找到 trace_id 对应记录'}), 404
|
||
|
|
return jsonify({'success': True, 'request': entry})
|