Files
2026-07-13 12:24:33 +08:00

30 lines
797 B
Python

# SPDX-License-Identifier: Apache-2.0
# Third Party
from fastapi import APIRouter
from prometheus_client import REGISTRY, generate_latest
from starlette.requests import Request
from starlette.responses import PlainTextResponse
# First Party
from lmcache.observability import reset_observability_metrics
router = APIRouter()
@router.get("/metrics")
async def get_metrics(request: Request):
"""
Provide Prometheus metrics data
"""
metrics_data = generate_latest(REGISTRY)
return PlainTextResponse(content=metrics_data, media_type="text/plain")
@router.post("/metrics/reset")
async def reset_metrics():
"""
Reset Prometheus metrics to their initial state.
"""
reset_observability_metrics()
return PlainTextResponse(content="ok", media_type="text/plain")