Package io.debezium.metrics.stats
Class MeasurementCollector<T extends MeasurementEvent>
java.lang.Object
io.debezium.metrics.stats.MeasurementCollector<T>
- All Implemented Interfaces:
Consumer<T>
Single point for submitting all kind of measurements.
Implementation needs to take into account that some statistics processing methods may be blocking and therefore needs to handle it in a way that prevents any
contention during record processing, e.g. processing measurement events in a dedicated thread.
- Author:
- vjuranek
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final org.slf4j.Loggerprivate final Map<Class<T>, Measurement<T>> private Threadprivate final BlockingQueue<T> private static final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidaddMeasurement(Class<T> clazz, Measurement<T> measurement) voidreset()voidstart()voidstop()
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
QUEUE_SIZE
private static final int QUEUE_SIZE- See Also:
-
measurements
private final Map<Class<T extends MeasurementEvent>,Measurement<T extends MeasurementEvent>> measurements -
queue
-
publisherThread
-
-
Constructor Details
-
MeasurementCollector
public MeasurementCollector()
-
-
Method Details
-
accept
- Specified by:
acceptin interfaceConsumer<T extends MeasurementEvent>
-
addMeasurement
-
start
public void start() -
stop
public void stop() -
reset
public void reset()
-