diff --git a/nonebot_bison/admin_page/__init__.py b/nonebot_bison/admin_page/__init__.py index 1afb0dc..e8ed2c4 100644 --- a/nonebot_bison/admin_page/__init__.py +++ b/nonebot_bison/admin_page/__init__.py @@ -12,7 +12,7 @@ from nonebot.adapters.onebot.v11.event import PrivateMessageEvent from .api import router as api_router from ..plugin_config import plugin_config from .token_manager import token_manager as tm -from .api import metrics_router as metrics_router +from ..metrics import metrics_router as metrics_router if TYPE_CHECKING: from nonebot.drivers.fastapi import Driver diff --git a/nonebot_bison/admin_page/api.py b/nonebot_bison/admin_page/api.py index 66f431d..da8208c 100644 --- a/nonebot_bison/admin_page/api.py +++ b/nonebot_bison/admin_page/api.py @@ -3,13 +3,11 @@ from typing import cast import nonebot from fastapi import status from fastapi.routing import APIRouter -from starlette.responses import Response from fastapi.param_functions import Depends from fastapi.exceptions import HTTPException from nonebot_plugin_saa import TargetQQGroup from nonebot_plugin_saa.auto_select_bot import get_bot from fastapi.security.oauth2 import OAuth2PasswordBearer -from prometheus_client import CONTENT_TYPE_LATEST, generate_latest from ..types import WeightConfig from ..apis import check_sub_target @@ -285,11 +283,3 @@ async def get_cookie_valid(site_name: str, content: str) -> StatusResp: return StatusResp(ok=True, msg="") else: return StatusResp(ok=False, msg="") - - -metrics_router = APIRouter(prefix="/api/metrics", tags=["metrics"]) - - -@metrics_router.get("") -async def metrics(): - return Response(media_type=CONTENT_TYPE_LATEST, content=generate_latest()) diff --git a/nonebot_bison/metrics.py b/nonebot_bison/metrics.py index fbddc98..707440f 100644 --- a/nonebot_bison/metrics.py +++ b/nonebot_bison/metrics.py @@ -1,4 +1,6 @@ -from prometheus_client import Counter +from fastapi import APIRouter +from starlette.responses import Response +from prometheus_client import CONTENT_TYPE_LATEST, Counter, generate_latest # Request counter request_counter = Counter("bison_request_counter", "The number of requests") @@ -7,3 +9,9 @@ success_counter = Counter("bison_success_counter", "The number of successful req # Sent counter sent_counter = Counter("bison_sent_counter", "The number of sent messages") +metrics_router = APIRouter(prefix="/api/metrics", tags=["metrics"]) + + +@metrics_router.get("") +async def metrics(): + return Response(media_type=CONTENT_TYPE_LATEST, content=generate_latest())