object ProducerEvent
Diagnostics events for the Producer.
The producer always handles records in batches. Even single records results in batches of 1. The diagnostic events are therefore always about batches.
For each batch the RecordsOffered event is emitted first, followed by the RecordsSent event. Since batches are queued in the producer and sending one batch might go faster than the previous, the two event types can come in any order. However, the RecordsOffered events are always in the order the batches were offered.
To associate events to a batch you can use the batchId field. This is an ever-increasing number that is unique per
producer and starts at 0. When a RecordsOffered and a RecordsSent event are for the same batch, the batchId
and records fields have the same value.
Batches of 0 records do not result in events.
- Alphabetic
- By Inheritance
- ProducerEvent
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- final case class ProducedRecord(topic: String, partition: Int, size: Int) extends Product with Serializable
Represents key data about a record that was handled by the producer.
Represents key data about a record that was handled by the producer.
- size
the size of the record's value
- final case class RecordsOffered(batchId: Long, records: Chunk[ProducedRecord]) extends ProducerEvent with Product with Serializable
Diagnostic event that is emitted when a batch of records is offered to the producer, and added to the internal send queue.
Diagnostic event that is emitted when a batch of records is offered to the producer, and added to the internal send queue.
- batchId
a unique identifier (for this producer, starting at 0) for this batch of records, can be used to match this diagnostics event with the other diagnostics events for the same batch
- records
the records that were offered
- final case class RecordsSent(batchId: Long, records: Chunk[ProducedRecord], failed: Set[Int]) extends ProducerEvent with Product with Serializable
Diagnostic event that is emitted after all records of a batch were sent to the broker.
Diagnostic event that is emitted after all records of a batch were sent to the broker.
The exact time this event is emitted depends on the
acksproducer configuration. Ifacksis set to0, the event is emitted immediately after all records were added to the socket buffer. Other values forackscause this event to be emitted after the broker has acknowledged the records.- batchId
a unique identifier (for this producer, starting at 0) for this batch of records, can be used to match this diagnostics event with the other diagnostics events for the same batch
- records
the records that were attempted to be sent
- failed
indices of the records in
recordsof which sending resulted in an error, and those that were not sent because of an earlier error. Records for which the index is not in this set succeeded. When all records succeeded, this set is empty.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- case object ProducerFinalized extends ProducerEvent with Product with Serializable
Diagnostic event that is emitted when the producer closes.