stormlog.tui.distributed_diagnostics
Distributed diagnostics loaders and view-model builders for the TUI.
Functions
|
Build rank-level distributed diagnostics and first-cause indicators. |
|
Load telemetry events from JSON/CSV files and artifact directories. |
|
Parse a rank filter expression (e.g., |
Classes
|
Top-level first-cause indicator for distributed diagnostics. |
|
Result of loading one or more distributed artifact inputs. |
|
Aggregated distributed diagnostics state for TUI rendering. |
|
Per-rank metrics rendered by the diagnostics table. |
- class stormlog.tui.distributed_diagnostics.AnomalyIndicator(kind, rank, severity, timestamp_ns, signal, details, confidence=None, reason_codes=<factory>, phase_path=None)[source]
Bases:
objectTop-level first-cause indicator for distributed diagnostics.
- Parameters:
kind (str)
rank (int)
severity (str)
timestamp_ns (int)
signal (str)
details (str)
confidence (float | None)
reason_codes (list[str])
phase_path (str | None)
- kind: str
- rank: int
- severity: str
- timestamp_ns: int
- signal: str
- details: str
- confidence: float | None = None
- reason_codes: list[str]
- phase_path: str | None = None
- class stormlog.tui.distributed_diagnostics.ArtifactLoadResult(events, sessions, selected_session_id, warnings, sources_loaded, markers=<factory>)[source]
Bases:
objectResult of loading one or more distributed artifact inputs.
- Parameters:
events (list[TelemetryEventV3])
sessions (list[LoadedTelemetrySession])
selected_session_id (str | None)
warnings (list[str])
sources_loaded (list[str])
markers (list[TimelineMarker])
- events: list[TelemetryEventV3]
- sessions: list[LoadedTelemetrySession]
- selected_session_id: str | None
- warnings: list[str]
- sources_loaded: list[str]
- markers: list[TimelineMarker]
- class stormlog.tui.distributed_diagnostics.DistributedDiagnosticsModel(rows, indicators, expected_ranks, present_ranks, missing_ranks, per_rank_timelines, warnings=<factory>, markers_by_rank=<factory>)[source]
Bases:
objectAggregated distributed diagnostics state for TUI rendering.
- Parameters:
rows (list[RankDiagnosticsRow])
indicators (list[AnomalyIndicator])
expected_ranks (list[int])
present_ranks (list[int])
missing_ranks (list[int])
per_rank_timelines (dict[int, dict[str, list[int]]])
warnings (list[str])
markers_by_rank (dict[int, list[TimelineMarker]])
- rows: list[RankDiagnosticsRow]
- indicators: list[AnomalyIndicator]
- expected_ranks: list[int]
- present_ranks: list[int]
- missing_ranks: list[int]
- per_rank_timelines: dict[int, dict[str, list[int]]]
- warnings: list[str]
- markers_by_rank: dict[int, list[TimelineMarker]]
- class stormlog.tui.distributed_diagnostics.RankDiagnosticsRow(rank, availability, samples, allocated_delta_bytes, reserved_delta_bytes, hidden_gap_latest_bytes, hidden_gap_peak_abs_bytes, has_anomaly, first_anomaly_timestamp_ns=None, first_anomaly_signal=None, first_anomaly_phase_path=None)[source]
Bases:
objectPer-rank metrics rendered by the diagnostics table.
- Parameters:
rank (int)
availability (str)
samples (int)
allocated_delta_bytes (int)
reserved_delta_bytes (int)
hidden_gap_latest_bytes (int)
hidden_gap_peak_abs_bytes (int)
has_anomaly (bool)
first_anomaly_timestamp_ns (int | None)
first_anomaly_signal (str | None)
first_anomaly_phase_path (str | None)
- rank: int
- availability: str
- samples: int
- allocated_delta_bytes: int
- reserved_delta_bytes: int
- has_anomaly: bool
- first_anomaly_timestamp_ns: int | None = None
- first_anomaly_signal: str | None = None
- first_anomaly_phase_path: str | None = None
- stormlog.tui.distributed_diagnostics.build_distributed_model(events, selected_ranks=None)[source]
Build rank-level distributed diagnostics and first-cause indicators.
- Parameters:
events (Sequence[TelemetryEventV3 | TelemetryEventV2])
selected_ranks (set[int] | None)
- Return type: