Expand description
Live event-tap capture for the daemon.
A TapRegistry holds the set of active capture sessions. The engine hot
path (LogProcessor::process_batch_with_format) loads the registry once
per batch through an ArcSwap and, while at least one session is active,
offers each event to the matching sessions with a non-blocking try_send.
Delivery never blocks the engine: a full session channel drops the event
and bumps a per-session counter, so a slow streaming client can never apply
backpressure to detection.
This module only captures and fans events out to bounded per-session channels. Redaction, serialization, and HTTP streaming live in the CLI, so the runtime stays free of the hashing and transport dependencies.
Structs§
- TapRegistry
- The set of active capture sessions plus the daemon-wide tap limits.
- TapSession
Handle - Handle returned to the streaming task on a successful
TapRegistry::register. Owns the receiving end of the session channel and deregisters the session from the registry on drop, so a dropped client connection tears the session down automatically and stops the hot path from offering to a dead session.
Enums§
- TapPayload
- One captured item handed to a session’s streaming task.
- TapStage
- Which point on the decode path a session captures from.