sensorloop
All sensors 32

Sensor ยท computational

Logs

Queries the logs of a run or a release, and reports the errors in them, grouped and counted.

Type
computational
Signal
One line per distinct error with its source and count, or none since the change.
No illustration yet catalog/sensors/logs.svg

The logs sensor reads what a running system wrote about itself, during a test run or after a release, and reports the errors in it, grouped and counted. Loops read it because many failures never reach an exit code: an error is caught and logged, and the run carries on.

What it sees

The errors the code logged, in the runs and releases a query covers. It needs structured logs and a store to query them in. Locally, a store per worktree keeps one change's logs apart from another's; after a release, the version on every line lets the same query compare the new version with the previous one. It cannot see a failure that was never logged, nor a code path that did not run in the period it read.

Reading the signal

  • None since the change: no new error appeared in the version and period the query covered.
  • A new error: a group that did not occur before the change, with its source and count. The change has to account for it.
  • A known error whose count grew: an existing problem the change made more frequent. Compare counts over the same period and the same traffic.

An empty result is not a clean log when the query found no lines at all: the store was unreachable, the run wrote nowhere, or the version was missing from the lines. Check that the query matched the run's own lines before reading silence as a pass.

Built from catalog/sensors/logs.md.