panels.telemetry ================ .. py:module:: panels.telemetry .. autoapi-nested-parse:: Telemetry & Temporal panel: anomaly timeline, TSKR patterns, FMEA brackets. Reads the ``telemetry_summary`` input (per-signal anomalies and changepoints) and the ``tskr_patterns`` artifact to render an anomaly-window Gantt (overlaid with TSKR pattern windows), a latency-colored TSKR table, an optional FMEA expected-latency strip from ``kg_context``, and per-signal statistics. Attributes ---------- .. autoapisummary:: panels.telemetry.JsonDict Functions --------- .. autoapisummary:: panels.telemetry._parse_ts panels.telemetry._telemetry_anchor_ts panels.telemetry._tskr_pattern_window panels.telemetry._violation_bg panels.telemetry.build_fmea_latency_figure panels.telemetry.build_tskr_table_figure panels.telemetry.build_timeline_figure panels.telemetry.render_telemetry_panel Module Contents --------------- .. py:data:: JsonDict .. py:function:: _parse_ts(value) .. py:function:: _telemetry_anchor_ts(telemetry_summary) .. py:function:: _tskr_pattern_window(p) .. py:function:: _violation_bg(lat) .. py:function:: build_fmea_latency_figure(telemetry_summary, kg_context) Build a Gantt of expected failure-mode latency windows vs the event anchor. The anchor is the telemetry window start, or the earliest anomaly timestamp when no window is given. @ In, telemetry_summary, dict, the ``telemetry_summary`` input, used only to derive the time anchor @ In, kg_context, dict, optional; reads ``failure_modes[]`` ``expected_latency_min_hours``/``expected_latency_max_hours`` @ Out, fig, plotly.graph_objects.Figure, the strip, or None if no KG context, no anchor, or no failure mode carries a latency bracket .. py:function:: build_tskr_table_figure(tskr_patterns) Build a table figure of TSKR patterns, row-colored by latency violation. @ In, tskr_patterns, dict, the ``tskr_patterns`` artifact; reads ``patterns`` (first 40), each supplying ``pattern_id``/``target_id``/ ``relation``/``mean_lag_hours``/``latency_violation_type``/``confidence`` @ Out, fig, plotly.graph_objects.Figure, the table, or None if no patterns .. py:function:: build_timeline_figure(telemetry_summary, tskr_patterns) Build the anomaly-window Gantt, overlaid with changepoints and TSKR windows. @ In, telemetry_summary, dict, the ``telemetry_summary`` input; reads ``signals[].anomalies[]`` (window, pattern, ``severity_score``/legacy ``severity``, id) and ``signals[].changepoints[]`` (dashed verticals) @ In, tskr_patterns, dict, optional; its ``patterns[]`` windows (first 16) are drawn as shaded regions over the timeline @ Out, fig, plotly.graph_objects.Figure, the timeline, or None if no anomaly has a valid timestamp .. py:function:: render_telemetry_panel(telemetry_summary, tskr_patterns, kg_context = None) Render the Telemetry & Temporal section. @ In, telemetry_summary, dict, the ``telemetry_summary`` input (signals, anomalies, changepoints, per-signal stats); None shows an info note @ In, tskr_patterns, dict, optional ``tskr_patterns`` artifact for the pattern table and timeline overlay @ In, kg_context, dict, optional; enables the FMEA expected-latency strip @ Out, None