orangeqs.juice.dashboard.widgets.control_pc_health#

Health summary widget for the System Overview page.

Module Contents#

Classes#

HealthLevel

How healthy one area is, ordered from least to most alarming.

HealthStatus

A status level and the sentence explaining it.

ControlPCHealthWidget

Renders the overall health summary, the status rows and their detail.

API#

class orangeqs.juice.dashboard.widgets.control_pc_health.HealthLevel#

Bases: enum.IntEnum

How healthy one area is, ordered from least to most alarming.

A group takes the level of its worst member, via max.

OK#

0

UNKNOWN#

1

WARNING#

2

CRITICAL#

3

class orangeqs.juice.dashboard.widgets.control_pc_health.HealthStatus#

A status level and the sentence explaining it.

level: orangeqs.juice.dashboard.widgets.control_pc_health.HealthLevel#

None

message: str#

None

class orangeqs.juice.dashboard.widgets.control_pc_health.ControlPCHealthWidget(settings: orangeqs.juice.dashboard.schemas.ControlPCHealthSettings | None = None, *, doc: bokeh.document.Document | None = None, query_api: influxdb_client.client.query_api_async.QueryApiAsync | None = None, parameter_config: orangeqs.juice.schemas.parameter_monitor.ParameterMonitorConfig | None = None, disk_labels: dict[str, str] | None = None, usage_source: orangeqs.juice.dashboard.widgets.control_pc_table.ControlPCUsageSource | None = None)#

Renders the overall health summary, the status rows and their detail.

Resource usage is polled; throttle states arrive over pub/sub.

property parameter_count: int#

Number of parameters configured for monitoring.

roots() → dict[str, bokeh.models.Div]#

Return the Bokeh roots to embed, keyed by their template name.

async start() → None#

Subscribe, fill in the current state and poll until the session ends.

without_document_lock means this coroutine does not hold the Bokeh document lock while it awaits, so a slow query cannot block the page; renders are scheduled back onto the document instead.