private_metrics.py
1001 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
from fastapi import APIRouter, Query
from presupuestov1 import metrics
WINDOW_MINUTES_MAX = 7 * 24 * 60
router = APIRouter(
prefix='/_metrics',
include_in_schema=False,
)
###############################################################################
# GET
###############################################################################
@router.get('/summary')
async def fetch_metrics_summary(
minutes: int = Query(default=60, ge=1, le=WINDOW_MINUTES_MAX),
include_ts: bool = Query(default=False),
):
return await metrics.read_summary(minutes, include_ts)
@router.get('/routes')
async def fetch_metrics_routes(
minutes: int = Query(default=60, ge=1, le=WINDOW_MINUTES_MAX),
include_ts: bool = Query(default=False),
):
return await metrics.read_routes(minutes, include_ts)
@router.get('/ips')
async def fetch_metrics_ips(
minutes: int = Query(default=60, ge=1, le=WINDOW_MINUTES_MAX),
include_ts: bool = Query(default=False),
):
return await metrics.read_ips(minutes, include_ts)