🚧 Add broker status page

This commit is contained in:
Jonas Bengtsson
2026-09-20 07:55:18 +02:00
parent 4322446fcf
commit 1e491642f1
9 changed files with 461 additions and 6 deletions
+37
View File
@@ -230,6 +230,43 @@ class ConfigPreviewOut(BaseModel):
warnings: list[str]
class BrokerStatusOut(BaseModel):
"""$SYS snapshot for the dashboard (spec sections 33, 55).
Every metric is None until the first $SYS publish arrives (the
broker publishes on sys_interval, 10 s in the bootstrap config);
`available` says whether ANY $SYS message has been ingested.
"""
available: bool
last_update: datetime | None
version: str | None = None
uptime: str | None = None
build_timestamp: str | None = None
clients_connected: int | None = None
clients_disconnected: int | None = None
clients_maximum: int | None = None
clients_total: int | None = None
clients_expired: int | None = None
messages_received: int | None = None
messages_sent: int | None = None
messages_stored: int | None = None
messages_dropped: int | None = None
publish_received: int | None = None
publish_sent: int | None = None
publish_dropped: int | None = None
bytes_received: int | None = None
bytes_sent: int | None = None
subscriptions_count: int | None = None
retained_count: int | None = None
load_messages_received_1min: float | None = None
load_messages_sent_1min: float | None = None
load_publish_received_1min: float | None = None
load_publish_sent_1min: float | None = None
load_bytes_received_1min: float | None = None
load_bytes_sent_1min: float | None = None
class DeployRequest(BaseModel):
comment: str | None = None