Skip to main content

Module event_queue

Module event_queue 

Source
Expand description

The controller’s event-queue measurements.

These are Kafka’s ControllerEventManager EventQueueTimeMs, EventQueueProcessingTimeMs and AvgIdleRatio, and KafkaController’s EventQueueOperationsStartedCount and EventQueueOperationsTimedOutCount.

Kafka’s QuorumController runs every operation as an event on one queue thread. Krabka’s engine loop is that thread: each turn handles one command from the engine’s mpsc or one timer, so a turn is one event. A command waited on the mpsc for its queue time; a timer has none, as a Kafka deferred event sets DOES_NOT_UPDATE_QUEUE_TIME. A write that parks for its commit keeps its processing time running until the commit reply, as a Kafka ControllerWriteEvent does.

The engine reports to an EventQueueRecorder. The broker registers its metrics as one; NoEventQueueRecorder is the default.

Structs§

NoEventQueueRecorder
The recorder of a controller nobody measures.

Traits§

EventQueueRecorder
Receives the engine loop’s event-queue measurements. Every method is called from the engine task, so an implementation must not block.