inpaintServer/app/api/stats.py

31 lines
939 B
Python

"""
성능 통계 API 엔드포인트
"""
from fastapi import APIRouter, status
from fastapi.responses import JSONResponse
from ..core.stats_manager import stats_manager
router = APIRouter()
@router.get("/stats",
summary="Get Performance Stats",
description="서버 시작 이후의 모델별 처리 시간 통계를 반환합니다.")
async def get_stats():
"""
성능 통계를 반환합니다.
"""
stats = stats_manager.get_stats()
return JSONResponse(content=stats)
@router.post("/stats/reset",
summary="Reset Performance Stats",
description="수집된 모든 성능 통계 데이터를 초기화합니다.")
async def reset_stats():
"""
성능 통계를 초기화합니다.
"""
stats_manager.reset()
return JSONResponse(content={"message": "Performance stats reset successfully"},
status_code=status.HTTP_200_OK)