初步添加 metrics

This commit is contained in:
2024-11-20 23:18:50 +08:00
parent 58f5463bec
commit 7d65873d06
6 changed files with 47 additions and 4 deletions
+2
View File
@@ -12,6 +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
if TYPE_CHECKING:
from nonebot.drivers.fastapi import Driver
@@ -46,6 +47,7 @@ def init_fastapi(driver: "Driver"):
description="nonebot-bison webui and api",
)
nonebot_app.include_router(api_router)
nonebot_app.include_router(metrics_router)
nonebot_app.mount("/", SinglePageApplication(directory=static_path), name="bison-frontend")
app = driver.server_app
+10
View File
@@ -3,11 +3,13 @@ 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
@@ -277,3 +279,11 @@ 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())