From b67533ec5d10366664f63b2c0662d4b2e6337bc4 Mon Sep 17 00:00:00 2001 From: "herve.le-bars" Date: Sat, 5 Oct 2024 22:58:14 +0200 Subject: [PATCH] init router metrics --- backend/bloom/routers/metrics.py | 28 ++++++++++++++++++++++++++++ backend/bloom/services/api.py | 3 +++ 2 files changed, 31 insertions(+) create mode 100644 backend/bloom/routers/metrics.py diff --git a/backend/bloom/routers/metrics.py b/backend/bloom/routers/metrics.py new file mode 100644 index 00000000..4ba8c7e2 --- /dev/null +++ b/backend/bloom/routers/metrics.py @@ -0,0 +1,28 @@ +from fastapi import APIRouter, Depends, Query +from redis import Redis +from bloom.config import settings +from bloom.container import UseCases +from pydantic import BaseModel, Field +from typing_extensions import Annotated, Literal +from datetime import datetime + +router = APIRouter() +redis_client = Redis(host=settings.redis_host, port=settings.redis_port, db=0) + +@router.get("/metrics/vessels-in-activity/total", tags=['metrics']) +def read_metrics_vessels_in_activity_total(start_at: datetime, end_at: datetime = None): + pass + +@router.get("/metrics/zone-visited/total", tags=['metrics']) +def read_metrics_vessels_in_activity_total(start_at: datetime, end_at: datetime = None): + pass + +@router.get("/metrics/vessels/{vessel_id}/visits/{visit_type}", tags=['metrics']) +def read_metrics_vessels_visits_by_visit_type( + vessel_id: int, + visit_type: str, + start_at: datetime, + end_at: datetime = None, + limit: int = 10, + orderBy: str = 'DESC'): + pass \ No newline at end of file diff --git a/backend/bloom/services/api.py b/backend/bloom/services/api.py index be15b3e1..41dcf74d 100644 --- a/backend/bloom/services/api.py +++ b/backend/bloom/services/api.py @@ -2,6 +2,8 @@ from fastapi import Request from fastapi.security import APIKeyHeader +from bloom.routers.metrics import router as router_metrics + header_scheme = APIKeyHeader(name="x-key") import redis @@ -18,6 +20,7 @@ app = FastAPI() +app.include_router(router_metrics) def check_apikey(key:str): if key != settings.api_key :