feat(status): reorder by data flow, sharpen reception signals#93
Merged
Conversation
Status output now follows the actual data path. Adds a receiver-activity byte sample, narrows the uplink check to ADS-B ports, raises server-reception tiers to match the 5-min sync, folds MLAT privacy in, and bumps --json to v2.
ADS-B uplink now parses the peer column only so a local listener on :30004/:64004 can't false-positive; netstat fallback enforces ESTABLISHED. Receiver activity skips on warn (not just fail) so malformed INPUT doesn't show a misleading second 'no data' line. Unknown mlat_private values surface as their own warn instead of being silently swallowed by the MLAT-line privacy fold.
CI runners ship /usr/bin/ss, so rm'ing the STUB_DIR/ss stub left command -v ss finding the system binary and the ss branch ran instead of the netstat fallback. Override command() in the test scope so BATS run inherits a definition that returns 1 for ss only.
The (vN) suffix is internal bookkeeping; operators have no actionable use for it and v1 just looks confusing on a freshly-registered feeder. Kept in --json (.claim.version) and the local mirror file for tooling.
…eorder # Conflicts: # test/test_apl_feed_cli.bats
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.
The status output now follows the actual data path so a reader can walk it top-to-bottom: receiver input → receiver activity → feed service → ADS-B uplink → identity → server reception → MLAT → diagnostics push.
A new
Receiver activityline samples the receiver socket for ~2 seconds and reports whether bytes are actually arriving, so an unplugged antenna or silent decoder surfaces as a warning instead of hiding behind a port that still listens.Airplanes.live linkis renamed toADS-B uplinkand narrowed to ports 30004/64004 — the failover target was missing, and the old check accepted :31090, so a MLAT-only connection used to mask an ADS-B-down state.Website feedbecomesServer receptionwith tier thresholds raised to match the 5-minute server-side sync (ok≤ 8 min,warn≤ 20 min,failbeyond) and a first-connect hint on the not-seen-yet case. MLAT name privacy is folded into the MLAT service line instead of taking its own line.apl-feed status --jsonis bumped toschema_version: 2:website.feed_state→website.reception_state, plus a newreceiverblock carryinginput_state,activity_state, andactivity_bytes.