fapolicyd.metrics - Man Page

fapolicyd runtime metrics report file

Description

The /run/fapolicyd/fapolicyd.metrics file contains the most recent daemon metrics report requested through fapolicyd-cli --check-metrics, fapolicyd-cli --reset-metrics, or periodic interval reporting.

The metrics report answers where runtime hot paths and cache effects are. The state report, written to /run/fapolicyd/fapolicyd.state, answers whether the daemon is healthy and configured as expected. Each field is printed as a name: value line. Section headers end in a colon. Worker-specific drill-down fields are indented by two spaces under the related aggregate section.

Decision outcomes

Allowed accesses

The number of policy decisions that allowed access.

Denied accesses

The number of policy decisions that denied access.

Allowed by rule

The number of allow decisions produced by a matching rule.

Allowed by fallthrough

The number of allow decisions produced when no rule had an opinion and the daemon used the default allow behavior. Detailed fallthrough dimensions are printed when this value is non-zero.

Inter-thread queue & defer activity

Inter-thread current queue depth

The number of fanotify permission events currently waiting in internal worker queues.

Inter-thread max queue depth

The highest per-worker internal event queue depth observed since the last metrics reset.

Inter-thread queue full count

The number of failed enqueue attempts across all worker queues since the last metrics reset.

Inter-thread oldest queued age

The oldest currently queued event age across all worker queues.

Decision worker N current queue depth

The number of fanotify permission events currently waiting in that worker's queue.

Decision worker N max queue depth

The highest queue depth observed for that worker since the last metrics reset.

Decision worker N queue full count

The number of failed enqueue attempts for that worker since the last metrics reset.

Decision worker N oldest queued age

The age of the oldest event currently waiting in that worker's queue. The value is formatted with a human-readable unit such as ms or s.

Subject deferred events

The cumulative number of fanotify permission events deferred since the last metrics reset because another process was still building subject pattern state in the same cache slot.

Subject defer max depth

The highest number of concurrently deferred subject events observed since the last metrics reset.

Subject defer fallbacks

The cumulative number of defer-array-full fallbacks since the last metrics reset. This field also appears in the state report because non-zero values are health indicators.

Decision worker N Subject deferred events

The number of subject-slot deferrals owned by one decision worker since the last metrics reset.

Decision worker N Subject defer max depth

The highest number of concurrently deferred subject events observed in one decision worker since the last metrics reset.

Decision worker N Subject defer fallbacks

The number of defer-array-full fallbacks in one decision worker since the last metrics reset.

Decision worker N Subject defer current depth

The number of subject events currently parked in one decision worker's defer array.

Decision worker N Subject defer oldest age

The age of the oldest currently deferred event in one decision worker's defer array.

Subject cache effectiveness

Subject hits

The number of subject cache hits.

Subject misses

The number of subject cache misses.

Subject collisions

The number of populated subject cache slots whose full process identity did not match the current event and therefore had to be evicted before reuse.

Subject evictions

The number of subject cache evictions and the eviction percentage relative to subject cache hits.

Early subject cache evictions

The number of subject cache entries evicted before process startup state was complete. This field also appears in the state report because non-zero values are health indicators.

Subject BUILDING tracer evictions

The number of BUILDING subject cache entries evicted because the owning process was traced and could hold the slot indefinitely. This field also appears in the state report because non-zero values are health indicators.

Subject BUILDING stale evictions

The number of BUILDING subject cache entries evicted because their startup state stayed incomplete past the bounded stale window. This field also appears in the state report because non-zero values are health indicators.

Decision worker N Subject hits

The number of subject cache hits in one decision worker.

Decision worker N Subject misses

The number of subject cache misses in one decision worker.

Decision worker N Subject collisions

The number of subject cache collisions in one decision worker.

Decision worker N Subject evictions

The number of subject cache evictions in one decision worker.

Decision worker N Early subject cache evictions

The number of early subject cache evictions in one decision worker.

Decision worker N Subject BUILDING tracer evictions

The number of traced BUILDING subject evictions in one decision worker.

Decision worker N Subject BUILDING stale evictions

The number of stale BUILDING subject evictions in one decision worker.

Object cache effectiveness

Object hits

The number of object cache hits.

Object misses

The number of object cache misses.

Object collisions

The number of populated object cache slots whose full file identity did not match the current event and therefore had to be evicted before reuse.

Object evictions

The number of object cache evictions and the eviction percentage relative to object cache hits.

Decision worker N Object hits

The number of object cache hits in one decision worker.

Decision worker N Object misses

The number of object cache misses in one decision worker.

Decision worker N Object collisions

The number of object cache collisions in one decision worker.

Decision worker N Object evictions

The number of object cache evictions in one decision worker.

Trust database lookups

Trust DB lookups

The number of trust database lookup attempts since the last metrics reset.

Trust DB reader slots full

The number of lookup attempts that could not open an LMDB read transaction because all LMDB reader slots were in use.

Trust database lookup latency is reported by fapolicyd.timing(5) only while manual timing collection is armed, so normal metrics collection does not add per-lookup clock reads.

Rule hit counts

Hits/rule

One line per configured rule in rule order. The line includes the one-based rule number, hit count, and rule text. Rule hit counters are naturally scoped to the active ruleset generation and start at zero when a new ruleset is loaded. A metrics reset also clears the counters after reporting them, which allows focused tests against the currently loaded rules without forcing a rule reload.

Subject attribute lookups

Subject attr

One line is printed for each counted subject attribute in the form name requests=count lookups=count. The requests count increments when policy evaluation or syslog formatting asks for the attribute. The lookups count increments only when that attribute was absent from the event subject cache and fapolicyd had to compute or fetch it.

Object attribute lookups

Object attr

One line is printed for each counted object attribute in the form name requests=count lookups=count. The requests count increments when policy evaluation or syslog formatting asks for the attribute. The lookups count increments only when that attribute was absent from the event object cache and fapolicyd had to compute or fetch it.

Notes

Metrics resets affect counters in this report. Static configuration, current utilization snapshots, watched mounts, and health indicators are reported in fapolicyd.state(5) and are not reset by fapolicyd-cli --reset-metrics.

Files

/run/fapolicyd/fapolicyd.metrics

Runtime metrics report file.

/run/fapolicyd/fapolicyd.state

Runtime state report file.

/run/fapolicyd/fapolicyd.timing

Manual decision timing report written when a privileged stop request ends an armed timing run, when a stop request finds timing unarmed, or when timing collection stops to avoid counter overflow.

See Also

fapolicyd(8), fapolicyd-cli(8), fapolicyd.conf(5), fapolicyd.rules(5), fapolicyd.state(5), fapolicyd.timing(5), and fapolicyd.trust(5).

Referenced By

fapolicyd(8), fapolicyd-cli(8), fapolicyd.conf(5), fapolicyd.state(5), fapolicyd.timing(5).

May 2026 Red Hat File Formats