Add database overview feature with metrics and UI enhancements
This commit introduces a detailed database overview endpoint and service, providing key metrics such as replication status, database sizes, and performance indicators. On the frontend, a new UI section displays these metrics along with improved forms and troubleshooting tips. Enhancements improve user experience by adding informative tooltips and formatting for byte and time values.
This commit is contained in:
29
backend/app/services/infra_probe.py
Normal file
29
backend/app/services/infra_probe.py
Normal file
@@ -0,0 +1,29 @@
|
||||
from dataclasses import dataclass
|
||||
|
||||
|
||||
@dataclass
|
||||
class DiskSpaceProbeResult:
|
||||
source: str
|
||||
status: str
|
||||
free_bytes: int | None = None
|
||||
message: str | None = None
|
||||
|
||||
|
||||
class DiskSpaceProvider:
|
||||
async def get_free_bytes(self, target_host: str) -> DiskSpaceProbeResult:
|
||||
raise NotImplementedError
|
||||
|
||||
|
||||
class NullDiskSpaceProvider(DiskSpaceProvider):
|
||||
async def get_free_bytes(self, target_host: str) -> DiskSpaceProbeResult:
|
||||
return DiskSpaceProbeResult(
|
||||
source="none",
|
||||
status="unavailable",
|
||||
free_bytes=None,
|
||||
message=f"No infra probe configured for host {target_host}. Add SSH/Agent provider later.",
|
||||
)
|
||||
|
||||
|
||||
def get_disk_space_provider() -> DiskSpaceProvider:
|
||||
# Extension point: replace by SSH/Agent backed implementation.
|
||||
return NullDiskSpaceProvider()
|
||||
Reference in New Issue
Block a user