Repository navigation
Add latest-frame tracking and health reporting - #4
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A slow consumer of the legacy tracking stream can accumulate seconds of backlog. Add
Tracker(mode="latest", max_frame_age=0.1)with a single replaceable unread frame and one thread owning source open/read/close. Reads wait for a distinct fresh frame; expired frames raiseStaleFrameErrorif no replacement arrives by the deadline. The existing sequential default remains available for complete recording.Expose immutable
tracker.healthsnapshots in both modes: state, recent arrival FPS, local receipt age, frame/skip/duplicate/timeout counts, timestamp resets, hand count, and error details. Add CLI--latest,--max-frame-age, and--health; health JSON uses stderr, preserving frame output and recordings. Include a slow-consumer example and repeatable read-only benchmark.Validation:
No hands were visible during the new live measurements; these establish delivery behavior, not full-skeleton CPU cost or absolute camera latency. Linux/macOS controller hardware and clean-Windows driver setup remain pending. See
docs/LATEST_FRAMES.mdfor semantics and evidence.The source version is 0.1.0b2 for the next release and reuses the immutable b1 engine download. PyPI currently provides 0.1.0b1.