module Obsctl::TUI::Widgets::Stats

Overview

Live stream health, rendered beside the logs while streaming.

Every value comes from the GetStats sample the daemon already polls for the telemetry bar, so the panel costs no extra OBS traffic and cannot disagree with the numbers in LIVE TELEMETRY.

Extended Modules

Defined in:

obsctl/tui/widgets/stats.cr

Constant Summary

DANGER_BUDGET_RATIO = 0.8
DANGER_DROP_PERCENT = 5.0
FPS_GRAPH_WIDTH = 8
HEALTHY_FPS_RATIO = 0.95

FPS is judged against the best rate seen this session rather than a fixed 60, so a 30 fps profile reads as healthy at 30.

WARNING_BUDGET_RATIO = 0.5

Share of one frame's budget spent rendering. Past half the budget OBS is a single hiccup away from missing the next frame.

WARNING_DROP_PERCENT = 1.0

OBS's own stats dock treats a dropped-frame ratio under 1% as healthy and 5% as the point where viewers see it.

WARNING_FPS_RATIO = 0.8
WIDE_INNER_WIDTH = 44

Below this inner width the skipped / total columns stop fitting, so the rows fall back to abbreviated labels and drop the sparkline.

Instance Method Summary

Instance Method Detail

def render(area : CryTUI::Rect, buffer : CryTUI::Buffer, model : Model) #

[View source]