Skip to content

instrument: the lock-holder and scheduled-job instruments, a notice told once its send lands, and the check command under test - #86

Open
ohdearquant wants to merge 3 commits into
mainfrom
owed/instrument
Open

ohdearquant wants to merge 3 commits into
mainfrom
owed/instrument

Conversation

@ohdearquant

Copy link
Copy Markdown
Owner

Closes #52, closes #53, closes #51.

Two instruments join the set built from one config: a lock holder, which reads who holds each named lock through lsof, with the agent's own pid file as the control, and reports a lock lsof cannot stat as unreadable rather than unheld (the status error on <path>: <why> line is read; a missing file stays "no holder"); and a scheduled job, which reads each job's artifact age against its bound first and the supervisor's last exit second, reporting stale and failed. A dead-instrument notice marks its recipient told only once the send lands; a send that fails leaves the crossing untold, so the next pass tells it again. lion agent --check has a test that pins the measurement it prints and the sentence saying it is unvetted.

ADR-0014 S9 and S11 state what holds, with the tests named; ADR-0015 and the index follow.

Suite: 100% coverage on 3.11, 3.12 and 3.14; pre-commit clean.

…old once its send lands, and a positive check-command test
…d, and S11 says a notice marks its recipient told once the send lands
…s bound is a number and its artifact a file, a supervisor read that did not finish is unread

lsof prints an escaped form of a name holding a tab, a newline, a
backslash or a byte outside the locale, on stdout and on its status
error lines; the lock-holder looked those names up by the raw path and
read a held or unreadable lock as no holder. A name no configured path
resolves to now fails the control and is named. A scheduled job refuses
a max_age_h that is a bool, not a number or NaN at build; its artifact
is read with one stat, and anything but a regular file is a finding; a
launchctl read that failed or did not finish is unread, not loaded is
only what launchd says. ADR-0014 C4 now agrees with S11; ADR-0015 cites
the hand-run check's test and lists lsof.
@ohdearquant

Copy link
Copy Markdown
Owner Author

4059d74: six review findings fixed. The lock-holder read a name lsof escapes (a tab, a newline, a backslash, a byte outside the locale, on its n lines and its status-error lines) as no holder; a name no configured path resolves to now fails the control and is named as unmapped, and the real-lsof test holds a lock with a tab in its name. A scheduled job refuses a max_age_h that is a bool, not a number or NaN at build (NaN read every artifact fresh); its artifact is read with one stat and anything but a regular file is a finding; a launchctl read that failed or did not finish is unread, and not loaded is only what launchd says. ADR-0014 C4 now agrees with S11 (a recipient is marked told once its send lands); ADR-0015 cites the hand-run check's test and lists lsof. Gates: pre-commit twice, pytest with coverage on 3.11, 3.12 and 3.14 at 100%.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant