mirror of
https://github.com/Kakune55/ComiPy.git
synced 2025-09-16 04:09:41 +08:00
62 lines
1.8 KiB
Python
62 lines
1.8 KiB
Python
from flask import Blueprint, render_template, jsonify, request
|
|
from utils.performance_monitor import get_performance_monitor
|
|
from utils.cache_manager import get_cache_manager
|
|
|
|
performance_bp = Blueprint("performance_bp", __name__)
|
|
|
|
|
|
@performance_bp.route("/api/performance/stats")
|
|
def performance_stats():
|
|
"""获取性能统计信息"""
|
|
if request.cookies.get("islogin") is None:
|
|
return jsonify({"error": "Unauthorized"}), 403
|
|
|
|
monitor = get_performance_monitor()
|
|
cache_manager = get_cache_manager()
|
|
|
|
operation_name = request.args.get("operation")
|
|
|
|
stats = {
|
|
"performance": monitor.get_stats(operation_name),
|
|
"cache": cache_manager.get_stats(),
|
|
"recent_errors": monitor.get_recent_errors(5)
|
|
}
|
|
|
|
return jsonify(stats)
|
|
|
|
|
|
@performance_bp.route("/api/performance/clear")
|
|
def clear_performance_data():
|
|
"""清空性能监控数据"""
|
|
if request.cookies.get("islogin") is None:
|
|
return jsonify({"error": "Unauthorized"}), 403
|
|
|
|
monitor = get_performance_monitor()
|
|
monitor.clear_metrics()
|
|
|
|
return jsonify({"message": "Performance data cleared"})
|
|
|
|
|
|
@performance_bp.route("/api/cache/clear")
|
|
def clear_cache():
|
|
"""清空缓存"""
|
|
if request.cookies.get("islogin") is None:
|
|
return jsonify({"error": "Unauthorized"}), 403
|
|
|
|
cache_manager = get_cache_manager()
|
|
cache_manager.clear()
|
|
|
|
return jsonify({"message": "Cache cleared"})
|
|
|
|
|
|
@performance_bp.route("/api/cache/cleanup")
|
|
def cleanup_cache():
|
|
"""清理过期缓存"""
|
|
if request.cookies.get("islogin") is None:
|
|
return jsonify({"error": "Unauthorized"}), 403
|
|
|
|
cache_manager = get_cache_manager()
|
|
cache_manager.cleanup_expired()
|
|
|
|
return jsonify({"message": "Expired cache cleaned up"})
|