Improve dashboard

This commit is contained in:
Andras Schmelczer 2022-06-04 14:06:32 +02:00
commit 75a33544ad

View file

@ -1,38 +1,18 @@
from pathlib import Path
from typing import List
from fastapi import APIRouter, FastAPI, HTTPException, Response, status
from fastapi.middleware.wsgi import WSGIMiddleware
from fastapi.responses import RedirectResponse
from fastapi.staticfiles import StaticFiles
from flask import Flask
from ...constants import METRICS_PATH
from ...context import get_context
from ...views import Query, Trace
PATH = Path(__file__).parent.resolve()
from ...views import Query, Trace, TraceView
def bootstrap_trace_endpoints(app: FastAPI, dash_app: Flask) -> None:
app.mount(METRICS_PATH, WSGIMiddleware(dash_app))
@app.get("/", include_in_schema=False)
def redirect_to_entrypoint() -> RedirectResponse:
return RedirectResponse("/metrics")
app.mount(
"/assets",
StaticFiles(directory=PATH / "../../dashboard/assets"),
name="static",
)
def bootstrap_trace_endpoints(app: FastAPI) -> None:
router = APIRouter(
prefix="/traces",
tags=["traces"],
)
@router.post("/", status_code=status.HTTP_200_OK, response_model=List[Trace])
@router.post("/", status_code=status.HTTP_200_OK, response_model=List[TraceView])
def query_traces(
query: Query,
skip: int = 0,
@ -43,9 +23,9 @@ def bootstrap_trace_endpoints(app: FastAPI, dash_app: Flask) -> None:
sort_by=query.sort,
skip=skip,
take=take,
)
)[0]
@router.get("/{trace_id}", status_code=status.HTTP_200_OK, response_model=Trace)
@router.get("/{trace_id}", status_code=status.HTTP_200_OK, response_model=TraceView)
def get_trace(trace_id: str) -> Trace:
result = get_context().tracing_database.get(trace_id)
if result is None: