The GitHub Actions job "Build" on jackrabbit-oak.git/issue/OAK-12331-impl has 
failed.
Run started by GitHub user dulvac (triggered by dulvac).

Head commit for run:
96909c4a5e0eb2b4b746f73554fc5a6292a5017e / Andrei Dulvac <[email protected]>
OAK-12331: add audit pipeline metrics

Requested in review on PR #3058: there was no way to see the pipeline
from outside, and a slow listener runs on the commit thread, so it costs
commit latency with nothing to point at.

AuditMonitor wraps a StatisticsProvider and records:

- security.audit.events;domain=<domain> — events dispatched per domain
- security.audit.events.dropped;domain=<domain> — events discarded at the
  per-session buffer cap
- security.audit.listener.duration;listener=<class> — time in onEvents
- security.audit.listener.failures;listener=<class> — listener throws

The provider is looked up on the whiteboard rather than injected as a DS
reference, so OSGi and embedded callers share the one path through
initialize(). Deployments without a provider get AuditMonitor.NOOP.

Two counting decisions worth knowing about. An event is counted once per
domain, not once per delivery, so N listeners on a domain do not multiply
the rate. And it is counted only when a listener actually consumed it: a
listener that unregisters between capture and drain leaves a domain in the
grouped map that nothing consumed, and counting that would overstate the
rate. Both are covered by AuditMonitorWiringTest.

Recording sits inside the existing per-listener Throwable barriers, so a
metrics failure cannot break a dispatch. A listener that throws is still
timed: it burned commit-thread time before it threw.

Report URL: https://github.com/apache/jackrabbit-oak/actions/runs/30993102320

With regards,
GitHub Actions via GitBox

Reply via email to