Class LatencyTrackerComputation
java.lang.Object
org.nuxeo.lib.stream.computation.AbstractComputation
org.nuxeo.lib.stream.tools.command.LatencyTrackerComputation
- All Implemented Interfaces:
Computation
- Direct Known Subclasses:
LatencyDatadogComputation
,LatencyMonitorComputation
A computation that sends periodically latencies information into a Log.
- Since:
- 10.1
-
Field Summary
Modifier and TypeFieldDescriptionprotected final int
protected final int
protected final List<LogPartitionGroup>
protected final LogManager
protected static final String
protected int
protected int
protected final boolean
Fields inherited from class org.nuxeo.lib.stream.computation.AbstractComputation
INPUT_1, INPUT_2, INPUT_3, INPUT_NULL, metadata, OUTPUT_1, OUTPUT_2, OUTPUT_3, OUTPUT_4
-
Constructor Summary
ConstructorDescriptionLatencyTrackerComputation
(LogManager manager, List<Name> logNames, String computationName, int intervalSecond, int count, boolean verbose, Codec<Record> codec, int outputStream) -
Method Summary
Modifier and TypeMethodDescriptionstatic LogPartitionGroup
void
destroy()
Called when the framework is ready to shutdown the computation.static String
encodeKey
(LogPartitionGroup logGroup, int partition) protected byte[]
encodeLatency
(Latency latency) protected List<LogPartitionGroup>
void
init
(ComputationContext context) Called when the framework has registered the computation successfully.protected void
processLatencies
(ComputationContext context, LogPartitionGroup logGroup, List<Latency> latencies) void
processRecord
(ComputationContext context, String inputStreamName, Record record) Process an incoming record on one of the computation's input streams.void
processTimer
(ComputationContext context, String key, long timestamp) Process a timer callback previously set viaComputationContext.setTimer(String, long)
.protected boolean
Methods inherited from class org.nuxeo.lib.stream.computation.AbstractComputation
metadata, processFailure, processRetry
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.nuxeo.lib.stream.computation.Computation
signalStop
-
Field Details
-
OUTPUT_STREAM
- See Also:
-
manager
-
logNames
-
intervalMs
protected final int intervalMs -
count
protected final int count -
verbose
protected final boolean verbose -
codec
-
remaining
protected int remaining -
logGroups
-
refreshGroupCounter
protected int refreshGroupCounter
-
-
Constructor Details
-
LatencyTrackerComputation
-
-
Method Details
-
init
Description copied from interface:Computation
Called when the framework has registered the computation successfully. Gives users a first opportunity to schedule timer callbacks and produce records. This method can be called multiple times.- Specified by:
init
in interfaceComputation
- Overrides:
init
in classAbstractComputation
- Parameters:
context
- The computation context object provided by the system.
-
processTimer
Description copied from interface:Computation
Process a timer callback previously set viaComputationContext.setTimer(String, long)
.- Specified by:
processTimer
in interfaceComputation
- Overrides:
processTimer
in classAbstractComputation
- Parameters:
context
- The computation context object provided by the system.key
- The name of the timer.timestamp
- The timestamp (in ms) for which the callback was scheduled.
-
getLogGroup
-
refreshGroup
protected boolean refreshGroup() -
processLatencies
protected void processLatencies(ComputationContext context, LogPartitionGroup logGroup, List<Latency> latencies) -
encodeLatency
-
encodeKey
-
decodeKey
-
destroy
public void destroy()Description copied from interface:Computation
Called when the framework is ready to shutdown the computation. Gives users a chance to perform some cleanup before the process is killed. -
processRecord
Description copied from interface:Computation
Process an incoming record on one of the computation's input streams.- Parameters:
context
- The computation context object provided by the system.inputStreamName
- Name of the input stream that provides the record.record
- The record.
-