Class StreamsMetricsImpl
- java.lang.Object
-
- org.apache.kafka.streams.processor.internals.metrics.StreamsMetricsImpl
-
- All Implemented Interfaces:
StreamsMetrics
public class StreamsMetricsImpl extends java.lang.Object implements StreamsMetrics
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classStreamsMetricsImpl.Version
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringAVG_LATENCY_DESCRIPTIONstatic java.lang.StringAVG_SUFFIXstatic java.lang.StringBUFFER_ID_TAGstatic java.lang.StringBUFFER_LEVEL_GROUP_0100_TO_24static java.lang.StringCACHE_LEVEL_GROUPstatic java.lang.StringCLIENT_ID_TAGstatic java.lang.StringCLIENT_LEVEL_GROUPstatic java.lang.StringGROUP_PREFIXstatic java.lang.StringGROUP_PREFIX_WO_DELIMITERstatic java.lang.StringGROUP_SUFFIXstatic java.lang.StringLATENCY_SUFFIXstatic java.lang.StringMAX_LATENCY_DESCRIPTIONstatic java.lang.StringMAX_SUFFIXstatic java.lang.StringMIN_SUFFIXstatic java.lang.StringOPERATIONSstatic java.lang.StringP90_SUFFIXstatic java.lang.StringP99_SUFFIXstatic java.lang.StringPROCESSOR_NODE_ID_TAGstatic java.lang.StringPROCESSOR_NODE_LEVEL_GROUPstatic java.lang.StringRATE_DESCRIPTIONstatic java.lang.StringRATE_DESCRIPTION_PREFIXstatic java.lang.StringRATE_DESCRIPTION_SUFFIXstatic java.lang.StringRATE_SUFFIXstatic java.lang.StringRATIO_SUFFIXstatic java.lang.StringRECORD_CACHE_ID_TAGstatic java.lang.StringRECORDS_SUFFIXstatic java.lang.StringROLLUP_VALUEstatic java.lang.StringSTATE_STORE_LEVEL_GROUPstatic java.lang.StringSTORE_ID_TAGstatic java.lang.StringTASK_ID_TAGstatic java.lang.StringTASK_LEVEL_GROUPstatic java.lang.StringTHREAD_ID_TAGstatic java.lang.StringTHREAD_ID_TAG_0100_TO_24static java.lang.StringTHREAD_LEVEL_GROUPstatic java.lang.StringTHREAD_LEVEL_GROUP_0100_TO_24static java.lang.StringTOTAL_DESCRIPTIONstatic java.lang.StringTOTAL_SUFFIX
-
Constructor Summary
Constructors Constructor Description StreamsMetricsImpl(org.apache.kafka.common.metrics.Metrics metrics, java.lang.String clientId, java.lang.String builtInMetricsVersion)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static voidaddAvgAndMaxLatencyToSensor(org.apache.kafka.common.metrics.Sensor sensor, java.lang.String group, java.util.Map<java.lang.String,java.lang.String> tags, java.lang.String operation)static voidaddAvgAndMaxToSensor(org.apache.kafka.common.metrics.Sensor sensor, java.lang.String group, java.util.Map<java.lang.String,java.lang.String> tags, java.lang.String operation, java.lang.String descriptionOfAvg, java.lang.String descriptionOfMax)static voidaddAvgAndMinAndMaxToSensor(org.apache.kafka.common.metrics.Sensor sensor, java.lang.String group, java.util.Map<java.lang.String,java.lang.String> tags, java.lang.String operation, java.lang.String descriptionOfAvg, java.lang.String descriptionOfMin, java.lang.String descriptionOfMax)static voidaddAvgAndSumMetricsToSensor(org.apache.kafka.common.metrics.Sensor sensor, java.lang.String group, java.util.Map<java.lang.String,java.lang.String> tags, java.lang.String metricNamePrefix, java.lang.String descriptionOfAvg, java.lang.String descriptionOfTotal)<T> voidaddClientLevelImmutableMetric(java.lang.String name, java.lang.String description, org.apache.kafka.common.metrics.Sensor.RecordingLevel recordingLevel, T value)<T> voidaddClientLevelMutableMetric(java.lang.String name, java.lang.String description, org.apache.kafka.common.metrics.Sensor.RecordingLevel recordingLevel, org.apache.kafka.common.metrics.Gauge<T> valueProvider)static voidaddInvocationRateAndCountToSensor(org.apache.kafka.common.metrics.Sensor sensor, java.lang.String group, java.util.Map<java.lang.String,java.lang.String> tags, java.lang.String operation)static voidaddInvocationRateAndCountToSensor(org.apache.kafka.common.metrics.Sensor sensor, java.lang.String group, java.util.Map<java.lang.String,java.lang.String> tags, java.lang.String operation, java.lang.String descriptionOfRate, java.lang.String descriptionOfCount)static voidaddInvocationRateToSensor(org.apache.kafka.common.metrics.Sensor sensor, java.lang.String group, java.util.Map<java.lang.String,java.lang.String> tags, java.lang.String operation, java.lang.String descriptionOfRate)org.apache.kafka.common.metrics.SensoraddLatencyAndThroughputSensor(java.lang.String scopeName, java.lang.String entityName, java.lang.String operationName, org.apache.kafka.common.metrics.Sensor.RecordingLevel recordingLevel, java.lang.String... tags)Deprecated.org.apache.kafka.common.metrics.SensoraddLatencyRateTotalSensor(java.lang.String scopeName, java.lang.String entityName, java.lang.String operationName, org.apache.kafka.common.metrics.Sensor.RecordingLevel recordingLevel, java.lang.String... tags)Add a latency, rate and total sensor for a specific operation, which will include the following metrics: average latency max latency invocation rate (num.operations / seconds) total invocation count Whenever a user records this sensor viaSensor.record(double)etc, it will be counted as one invocation of the operation, and hence the rate / count metrics will be updated accordingly; and the recorded latency value will be used to update the average / max latency as well.static voidaddMinAndMaxToSensor(org.apache.kafka.common.metrics.Sensor sensor, java.lang.String group, java.util.Map<java.lang.String,java.lang.String> tags, java.lang.String operation, java.lang.String descriptionOfMin, java.lang.String descriptionOfMax)static voidaddRateOfSumAndSumMetricsToSensor(org.apache.kafka.common.metrics.Sensor sensor, java.lang.String group, java.util.Map<java.lang.String,java.lang.String> tags, java.lang.String operation, java.lang.String descriptionOfRate, java.lang.String descriptionOfTotal)static voidaddRateOfSumMetricToSensor(org.apache.kafka.common.metrics.Sensor sensor, java.lang.String group, java.util.Map<java.lang.String,java.lang.String> tags, java.lang.String operation, java.lang.String description)org.apache.kafka.common.metrics.SensoraddRateTotalSensor(java.lang.String scopeName, java.lang.String entityName, java.lang.String operationName, org.apache.kafka.common.metrics.Sensor.RecordingLevel recordingLevel, java.lang.String... tags)Add a rate and a total sensor for a specific operation, which will include the following metrics: invocation rate (num.operations / time unit) total invocation count Whenever a user records this sensor viaSensor.record(double)etc, it will be counted as one invocation of the operation, and hence the rate / count metrics will be updated accordingly.org.apache.kafka.common.metrics.SensoraddSensor(java.lang.String name, org.apache.kafka.common.metrics.Sensor.RecordingLevel recordingLevel)Generic method to create a sensor.org.apache.kafka.common.metrics.SensoraddSensor(java.lang.String name, org.apache.kafka.common.metrics.Sensor.RecordingLevel recordingLevel, org.apache.kafka.common.metrics.Sensor... parents)Generic method to create a sensor with parent sensors.static voidaddSumMetricToSensor(org.apache.kafka.common.metrics.Sensor sensor, java.lang.String group, java.util.Map<java.lang.String,java.lang.String> tags, java.lang.String operation, boolean withSuffix, java.lang.String description)static voidaddSumMetricToSensor(org.apache.kafka.common.metrics.Sensor sensor, java.lang.String group, java.util.Map<java.lang.String,java.lang.String> tags, java.lang.String operation, java.lang.String description)org.apache.kafka.common.metrics.SensoraddThroughputSensor(java.lang.String scopeName, java.lang.String entityName, java.lang.String operationName, org.apache.kafka.common.metrics.Sensor.RecordingLevel recordingLevel, java.lang.String... tags)Deprecated.static voidaddValueMetricToSensor(org.apache.kafka.common.metrics.Sensor sensor, java.lang.String group, java.util.Map<java.lang.String,java.lang.String> tags, java.lang.String name, java.lang.String description)java.util.Map<java.lang.String,java.lang.String>bufferLevelTagMap(java.lang.String threadId, java.lang.String taskName, java.lang.String bufferName)org.apache.kafka.common.metrics.SensorcacheLevelSensor(java.lang.String threadId, java.lang.String taskName, java.lang.String storeName, java.lang.String sensorName, org.apache.kafka.common.metrics.Sensor.RecordingLevel recordingLevel, org.apache.kafka.common.metrics.Sensor... parents)java.util.Map<java.lang.String,java.lang.String>cacheLevelTagMap(java.lang.String threadId, java.lang.String taskId, java.lang.String storeName)java.util.Map<java.lang.String,java.lang.String>clientLevelTagMap()static voidmaybeMeasureLatency(java.lang.Runnable actionToMeasure, org.apache.kafka.common.utils.Time time, org.apache.kafka.common.metrics.Sensor sensor)static <T> TmaybeMeasureLatency(java.util.function.Supplier<T> actionToMeasure, org.apache.kafka.common.utils.Time time, org.apache.kafka.common.metrics.Sensor sensor)java.util.Map<org.apache.kafka.common.MetricName,? extends org.apache.kafka.common.Metric>metrics()Get read-only handle on global metrics registry.org.apache.kafka.common.metrics.SensornodeLevelSensor(java.lang.String threadId, java.lang.String taskId, java.lang.String processorNodeName, java.lang.String sensorName, org.apache.kafka.common.metrics.Sensor.RecordingLevel recordingLevel, org.apache.kafka.common.metrics.Sensor... parents)java.util.Map<java.lang.String,java.lang.String>nodeLevelTagMap(java.lang.String threadId, java.lang.String taskName, java.lang.String processorNodeName)voidrecordLatency(org.apache.kafka.common.metrics.Sensor sensor, long startNs, long endNs)Deprecated.voidrecordThroughput(org.apache.kafka.common.metrics.Sensor sensor, long value)Deprecated.voidremoveAllCacheLevelSensors(java.lang.String threadId, java.lang.String taskId, java.lang.String cacheName)voidremoveAllClientLevelMetrics()voidremoveAllNodeLevelSensors(java.lang.String threadId, java.lang.String taskId, java.lang.String processorNodeName)voidremoveAllStoreLevelSensors(java.lang.String threadId, java.lang.String taskId, java.lang.String storeName)voidremoveAllTaskLevelSensors(java.lang.String threadId, java.lang.String taskId)voidremoveAllThreadLevelSensors(java.lang.String threadId)voidremoveSensor(org.apache.kafka.common.metrics.Sensor sensor)Deletes a sensor and its parents, if anyRocksDBMetricsRecordingTriggerrocksDBMetricsRecordingTrigger()voidsetRocksDBMetricsRecordingTrigger(RocksDBMetricsRecordingTrigger rocksDBMetricsRecordingTrigger)org.apache.kafka.common.metrics.SensorstoreLevelSensor(java.lang.String threadId, java.lang.String taskId, java.lang.String storeName, java.lang.String sensorName, org.apache.kafka.common.metrics.Sensor.RecordingLevel recordingLevel, org.apache.kafka.common.metrics.Sensor... parents)java.util.Map<java.lang.String,java.lang.String>storeLevelTagMap(java.lang.String threadId, java.lang.String taskName, java.lang.String storeType, java.lang.String storeName)org.apache.kafka.common.metrics.SensortaskLevelSensor(java.lang.String threadId, java.lang.String taskId, java.lang.String sensorName, org.apache.kafka.common.metrics.Sensor.RecordingLevel recordingLevel, org.apache.kafka.common.metrics.Sensor... parents)java.util.Map<java.lang.String,java.lang.String>taskLevelTagMap(java.lang.String threadId, java.lang.String taskId)org.apache.kafka.common.metrics.SensorthreadLevelSensor(java.lang.String threadId, java.lang.String sensorName, org.apache.kafka.common.metrics.Sensor.RecordingLevel recordingLevel, org.apache.kafka.common.metrics.Sensor... parents)java.util.Map<java.lang.String,java.lang.String>threadLevelTagMap(java.lang.String threadId)StreamsMetricsImpl.Versionversion()
-
-
-
Field Detail
-
CLIENT_ID_TAG
public static final java.lang.String CLIENT_ID_TAG
- See Also:
- Constant Field Values
-
THREAD_ID_TAG
public static final java.lang.String THREAD_ID_TAG
- See Also:
- Constant Field Values
-
THREAD_ID_TAG_0100_TO_24
public static final java.lang.String THREAD_ID_TAG_0100_TO_24
- See Also:
- Constant Field Values
-
TASK_ID_TAG
public static final java.lang.String TASK_ID_TAG
- See Also:
- Constant Field Values
-
PROCESSOR_NODE_ID_TAG
public static final java.lang.String PROCESSOR_NODE_ID_TAG
- See Also:
- Constant Field Values
-
STORE_ID_TAG
public static final java.lang.String STORE_ID_TAG
- See Also:
- Constant Field Values
-
BUFFER_ID_TAG
public static final java.lang.String BUFFER_ID_TAG
- See Also:
- Constant Field Values
-
RECORD_CACHE_ID_TAG
public static final java.lang.String RECORD_CACHE_ID_TAG
- See Also:
- Constant Field Values
-
ROLLUP_VALUE
public static final java.lang.String ROLLUP_VALUE
- See Also:
- Constant Field Values
-
LATENCY_SUFFIX
public static final java.lang.String LATENCY_SUFFIX
- See Also:
- Constant Field Values
-
RECORDS_SUFFIX
public static final java.lang.String RECORDS_SUFFIX
- See Also:
- Constant Field Values
-
AVG_SUFFIX
public static final java.lang.String AVG_SUFFIX
- See Also:
- Constant Field Values
-
MAX_SUFFIX
public static final java.lang.String MAX_SUFFIX
- See Also:
- Constant Field Values
-
MIN_SUFFIX
public static final java.lang.String MIN_SUFFIX
- See Also:
- Constant Field Values
-
RATE_SUFFIX
public static final java.lang.String RATE_SUFFIX
- See Also:
- Constant Field Values
-
TOTAL_SUFFIX
public static final java.lang.String TOTAL_SUFFIX
- See Also:
- Constant Field Values
-
RATIO_SUFFIX
public static final java.lang.String RATIO_SUFFIX
- See Also:
- Constant Field Values
-
P99_SUFFIX
public static final java.lang.String P99_SUFFIX
- See Also:
- Constant Field Values
-
P90_SUFFIX
public static final java.lang.String P90_SUFFIX
- See Also:
- Constant Field Values
-
GROUP_PREFIX_WO_DELIMITER
public static final java.lang.String GROUP_PREFIX_WO_DELIMITER
- See Also:
- Constant Field Values
-
GROUP_PREFIX
public static final java.lang.String GROUP_PREFIX
- See Also:
- Constant Field Values
-
GROUP_SUFFIX
public static final java.lang.String GROUP_SUFFIX
- See Also:
- Constant Field Values
-
CLIENT_LEVEL_GROUP
public static final java.lang.String CLIENT_LEVEL_GROUP
- See Also:
- Constant Field Values
-
THREAD_LEVEL_GROUP
public static final java.lang.String THREAD_LEVEL_GROUP
- See Also:
- Constant Field Values
-
THREAD_LEVEL_GROUP_0100_TO_24
public static final java.lang.String THREAD_LEVEL_GROUP_0100_TO_24
- See Also:
- Constant Field Values
-
TASK_LEVEL_GROUP
public static final java.lang.String TASK_LEVEL_GROUP
- See Also:
- Constant Field Values
-
PROCESSOR_NODE_LEVEL_GROUP
public static final java.lang.String PROCESSOR_NODE_LEVEL_GROUP
- See Also:
- Constant Field Values
-
STATE_STORE_LEVEL_GROUP
public static final java.lang.String STATE_STORE_LEVEL_GROUP
- See Also:
- Constant Field Values
-
BUFFER_LEVEL_GROUP_0100_TO_24
public static final java.lang.String BUFFER_LEVEL_GROUP_0100_TO_24
- See Also:
- Constant Field Values
-
CACHE_LEVEL_GROUP
public static final java.lang.String CACHE_LEVEL_GROUP
- See Also:
- Constant Field Values
-
OPERATIONS
public static final java.lang.String OPERATIONS
- See Also:
- Constant Field Values
-
TOTAL_DESCRIPTION
public static final java.lang.String TOTAL_DESCRIPTION
- See Also:
- Constant Field Values
-
RATE_DESCRIPTION
public static final java.lang.String RATE_DESCRIPTION
- See Also:
- Constant Field Values
-
AVG_LATENCY_DESCRIPTION
public static final java.lang.String AVG_LATENCY_DESCRIPTION
- See Also:
- Constant Field Values
-
MAX_LATENCY_DESCRIPTION
public static final java.lang.String MAX_LATENCY_DESCRIPTION
- See Also:
- Constant Field Values
-
RATE_DESCRIPTION_PREFIX
public static final java.lang.String RATE_DESCRIPTION_PREFIX
- See Also:
- Constant Field Values
-
RATE_DESCRIPTION_SUFFIX
public static final java.lang.String RATE_DESCRIPTION_SUFFIX
- See Also:
- Constant Field Values
-
-
Method Detail
-
version
public StreamsMetricsImpl.Version version()
-
setRocksDBMetricsRecordingTrigger
public void setRocksDBMetricsRecordingTrigger(RocksDBMetricsRecordingTrigger rocksDBMetricsRecordingTrigger)
-
rocksDBMetricsRecordingTrigger
public RocksDBMetricsRecordingTrigger rocksDBMetricsRecordingTrigger()
-
addClientLevelImmutableMetric
public <T> void addClientLevelImmutableMetric(java.lang.String name, java.lang.String description, org.apache.kafka.common.metrics.Sensor.RecordingLevel recordingLevel, T value)
-
addClientLevelMutableMetric
public <T> void addClientLevelMutableMetric(java.lang.String name, java.lang.String description, org.apache.kafka.common.metrics.Sensor.RecordingLevel recordingLevel, org.apache.kafka.common.metrics.Gauge<T> valueProvider)
-
threadLevelSensor
public final org.apache.kafka.common.metrics.Sensor threadLevelSensor(java.lang.String threadId, java.lang.String sensorName, org.apache.kafka.common.metrics.Sensor.RecordingLevel recordingLevel, org.apache.kafka.common.metrics.Sensor... parents)
-
clientLevelTagMap
public java.util.Map<java.lang.String,java.lang.String> clientLevelTagMap()
-
threadLevelTagMap
public java.util.Map<java.lang.String,java.lang.String> threadLevelTagMap(java.lang.String threadId)
-
removeAllClientLevelMetrics
public final void removeAllClientLevelMetrics()
-
removeAllThreadLevelSensors
public final void removeAllThreadLevelSensors(java.lang.String threadId)
-
taskLevelTagMap
public java.util.Map<java.lang.String,java.lang.String> taskLevelTagMap(java.lang.String threadId, java.lang.String taskId)
-
nodeLevelTagMap
public java.util.Map<java.lang.String,java.lang.String> nodeLevelTagMap(java.lang.String threadId, java.lang.String taskName, java.lang.String processorNodeName)
-
storeLevelTagMap
public java.util.Map<java.lang.String,java.lang.String> storeLevelTagMap(java.lang.String threadId, java.lang.String taskName, java.lang.String storeType, java.lang.String storeName)
-
bufferLevelTagMap
public java.util.Map<java.lang.String,java.lang.String> bufferLevelTagMap(java.lang.String threadId, java.lang.String taskName, java.lang.String bufferName)
-
taskLevelSensor
public final org.apache.kafka.common.metrics.Sensor taskLevelSensor(java.lang.String threadId, java.lang.String taskId, java.lang.String sensorName, org.apache.kafka.common.metrics.Sensor.RecordingLevel recordingLevel, org.apache.kafka.common.metrics.Sensor... parents)
-
removeAllTaskLevelSensors
public final void removeAllTaskLevelSensors(java.lang.String threadId, java.lang.String taskId)
-
nodeLevelSensor
public org.apache.kafka.common.metrics.Sensor nodeLevelSensor(java.lang.String threadId, java.lang.String taskId, java.lang.String processorNodeName, java.lang.String sensorName, org.apache.kafka.common.metrics.Sensor.RecordingLevel recordingLevel, org.apache.kafka.common.metrics.Sensor... parents)
-
removeAllNodeLevelSensors
public final void removeAllNodeLevelSensors(java.lang.String threadId, java.lang.String taskId, java.lang.String processorNodeName)
-
cacheLevelSensor
public org.apache.kafka.common.metrics.Sensor cacheLevelSensor(java.lang.String threadId, java.lang.String taskName, java.lang.String storeName, java.lang.String sensorName, org.apache.kafka.common.metrics.Sensor.RecordingLevel recordingLevel, org.apache.kafka.common.metrics.Sensor... parents)
-
cacheLevelTagMap
public java.util.Map<java.lang.String,java.lang.String> cacheLevelTagMap(java.lang.String threadId, java.lang.String taskId, java.lang.String storeName)
-
removeAllCacheLevelSensors
public final void removeAllCacheLevelSensors(java.lang.String threadId, java.lang.String taskId, java.lang.String cacheName)
-
storeLevelSensor
public final org.apache.kafka.common.metrics.Sensor storeLevelSensor(java.lang.String threadId, java.lang.String taskId, java.lang.String storeName, java.lang.String sensorName, org.apache.kafka.common.metrics.Sensor.RecordingLevel recordingLevel, org.apache.kafka.common.metrics.Sensor... parents)
-
removeAllStoreLevelSensors
public final void removeAllStoreLevelSensors(java.lang.String threadId, java.lang.String taskId, java.lang.String storeName)
-
addSensor
public org.apache.kafka.common.metrics.Sensor addSensor(java.lang.String name, org.apache.kafka.common.metrics.Sensor.RecordingLevel recordingLevel)Description copied from interface:StreamsMetricsGeneric method to create a sensor. Note that for most cases it is advisable to useaddRateTotalSensor()oraddLatencyRateTotalSensor()to ensure metric name well-formedness and conformity with the rest of the Kafka Streams code base. However, if the above two methods are not sufficient, this method can also be used.- Specified by:
addSensorin interfaceStreamsMetrics- Parameters:
name- name of the sensor.recordingLevel- the recording level (e.g., INFO or DEBUG) for this sensor- Returns:
- The added sensor.
- See Also:
StreamsMetrics.addRateTotalSensor(String, String, String, Sensor.RecordingLevel, String...),StreamsMetrics.addLatencyRateTotalSensor(String, String, String, Sensor.RecordingLevel, String...),StreamsMetrics.removeSensor(Sensor)
-
addSensor
public org.apache.kafka.common.metrics.Sensor addSensor(java.lang.String name, org.apache.kafka.common.metrics.Sensor.RecordingLevel recordingLevel, org.apache.kafka.common.metrics.Sensor... parents)Description copied from interface:StreamsMetricsGeneric method to create a sensor with parent sensors. Note that for most cases it is advisable to useaddRateTotalSensor()oraddLatencyRateTotalSensor()to ensure metric name well-formedness and conformity with the rest of the Kafka Streams code base. However, if the above two methods are not sufficient, this method can also be used.- Specified by:
addSensorin interfaceStreamsMetrics- Parameters:
name- name of the sensorrecordingLevel- the recording level (e.g., INFO or DEBUG) for this sensor- Returns:
- The added sensor.
- See Also:
StreamsMetrics.addRateTotalSensor(String, String, String, Sensor.RecordingLevel, String...),StreamsMetrics.addLatencyRateTotalSensor(String, String, String, Sensor.RecordingLevel, String...),StreamsMetrics.removeSensor(Sensor)
-
metrics
public java.util.Map<org.apache.kafka.common.MetricName,? extends org.apache.kafka.common.Metric> metrics()
Description copied from interface:StreamsMetricsGet read-only handle on global metrics registry.- Specified by:
metricsin interfaceStreamsMetrics- Returns:
- Map of all metrics.
-
recordLatency
@Deprecated public void recordLatency(org.apache.kafka.common.metrics.Sensor sensor, long startNs, long endNs)Deprecated.Description copied from interface:StreamsMetricsRecord the given latency value of the sensor. If the passed sensor includes throughput metrics, e.g., when created by theStreamsMetrics.addLatencyAndThroughputSensor(String, String, String, Sensor.RecordingLevel, String...)method, then the throughput metrics will also be recorded from this event.- Specified by:
recordLatencyin interfaceStreamsMetrics- Parameters:
sensor- sensor whose latency we are recording.startNs- start of measurement time in nanoseconds.endNs- end of measurement time in nanoseconds.
-
recordThroughput
@Deprecated public void recordThroughput(org.apache.kafka.common.metrics.Sensor sensor, long value)Deprecated.Description copied from interface:StreamsMetricsRecord the throughput value of a sensor.- Specified by:
recordThroughputin interfaceStreamsMetrics- Parameters:
sensor- add Sensor whose throughput we are recordingvalue- throughput value
-
addLatencyRateTotalSensor
public org.apache.kafka.common.metrics.Sensor addLatencyRateTotalSensor(java.lang.String scopeName, java.lang.String entityName, java.lang.String operationName, org.apache.kafka.common.metrics.Sensor.RecordingLevel recordingLevel, java.lang.String... tags)Description copied from interface:StreamsMetricsAdd a latency, rate and total sensor for a specific operation, which will include the following metrics:- average latency
- max latency
- invocation rate (num.operations / seconds)
- total invocation count
Sensor.record(double)etc, it will be counted as one invocation of the operation, and hence the rate / count metrics will be updated accordingly; and the recorded latency value will be used to update the average / max latency as well. Note that you can add more metrics to this sensor after you created it, which can then be updated uponSensor.record(double)calls. The added sensor and its metrics can be removed withremoveSensor().- Specified by:
addLatencyRateTotalSensorin interfaceStreamsMetrics- Parameters:
scopeName- name of the scope, which will be used as part of the metric type, e.g.: "stream-[scope]-metrics".entityName- name of the entity, which will be used as part of the metric tags, e.g.: "[scope]-id" = "[entity]".operationName- name of the operation, which will be used as the name of the metric, e.g.: "[operation]-latency-avg".recordingLevel- the recording level (e.g., INFO or DEBUG) for this sensor.tags- additional tags of the sensor- Returns:
- The added sensor.
- See Also:
StreamsMetrics.addRateTotalSensor(String, String, String, Sensor.RecordingLevel, String...),StreamsMetrics.removeSensor(Sensor),StreamsMetrics.addSensor(String, Sensor.RecordingLevel, Sensor...)
-
addRateTotalSensor
public org.apache.kafka.common.metrics.Sensor addRateTotalSensor(java.lang.String scopeName, java.lang.String entityName, java.lang.String operationName, org.apache.kafka.common.metrics.Sensor.RecordingLevel recordingLevel, java.lang.String... tags)Description copied from interface:StreamsMetricsAdd a rate and a total sensor for a specific operation, which will include the following metrics:- invocation rate (num.operations / time unit)
- total invocation count
Sensor.record(double)etc, it will be counted as one invocation of the operation, and hence the rate / count metrics will be updated accordingly. Note that you can add more metrics to this sensor after you created it, which can then be updated uponSensor.record(double)calls. The added sensor and its metrics can be removed withremoveSensor().- Specified by:
addRateTotalSensorin interfaceStreamsMetrics- Parameters:
scopeName- name of the scope, which will be used as part of the metrics type, e.g.: "stream-[scope]-metrics".entityName- name of the entity, which will be used as part of the metric tags, e.g.: "[scope]-id" = "[entity]".operationName- name of the operation, which will be used as the name of the metric, e.g.: "[operation]-total".recordingLevel- the recording level (e.g., INFO or DEBUG) for this sensor.tags- additional tags of the sensor- Returns:
- The added sensor.
- See Also:
StreamsMetrics.addLatencyRateTotalSensor(String, String, String, Sensor.RecordingLevel, String...),StreamsMetrics.removeSensor(Sensor),StreamsMetrics.addSensor(String, Sensor.RecordingLevel, Sensor...)
-
addLatencyAndThroughputSensor
@Deprecated public org.apache.kafka.common.metrics.Sensor addLatencyAndThroughputSensor(java.lang.String scopeName, java.lang.String entityName, java.lang.String operationName, org.apache.kafka.common.metrics.Sensor.RecordingLevel recordingLevel, java.lang.String... tags)Deprecated.Description copied from interface:StreamsMetricsAdd a latency and throughput sensor for a specific operation, which will include the following sensors:- average latency
- max latency
- throughput (num.operations / time unit)
- Specified by:
addLatencyAndThroughputSensorin interfaceStreamsMetrics- Parameters:
scopeName- name of the scope, could be the type of the state store, etc.entityName- name of the entity, could be the name of the state store instance, etc.operationName- name of the operation, could be get / put / delete / etc.recordingLevel- the recording level (e.g., INFO or DEBUG) for this sensor.tags- additional tags of the sensor- Returns:
- The added sensor.
- Throws:
java.lang.IllegalArgumentException- if tags is not constructed in key-value pairs
-
addThroughputSensor
@Deprecated public org.apache.kafka.common.metrics.Sensor addThroughputSensor(java.lang.String scopeName, java.lang.String entityName, java.lang.String operationName, org.apache.kafka.common.metrics.Sensor.RecordingLevel recordingLevel, java.lang.String... tags)Deprecated.Description copied from interface:StreamsMetricsAdd a throughput sensor for a specific operation:- throughput (num.operations / time unit)
StreamsMetrics.addLatencyAndThroughputSensor(String, String, String, Sensor.RecordingLevel, String...).- Specified by:
addThroughputSensorin interfaceStreamsMetrics- Parameters:
scopeName- name of the scope, could be the type of the state store, etc.entityName- name of the entity, could be the name of the state store instance, etc.operationName- name of the operation, could be get / put / delete / etc.recordingLevel- the recording level (e.g., INFO or DEBUG) for this sensor.tags- additional tags of the sensor- Returns:
- The added sensor.
- Throws:
java.lang.IllegalArgumentException- if tags is not constructed in key-value pairs
-
addAvgAndMaxToSensor
public static void addAvgAndMaxToSensor(org.apache.kafka.common.metrics.Sensor sensor, java.lang.String group, java.util.Map<java.lang.String,java.lang.String> tags, java.lang.String operation, java.lang.String descriptionOfAvg, java.lang.String descriptionOfMax)
-
addMinAndMaxToSensor
public static void addMinAndMaxToSensor(org.apache.kafka.common.metrics.Sensor sensor, java.lang.String group, java.util.Map<java.lang.String,java.lang.String> tags, java.lang.String operation, java.lang.String descriptionOfMin, java.lang.String descriptionOfMax)
-
addAvgAndMaxLatencyToSensor
public static void addAvgAndMaxLatencyToSensor(org.apache.kafka.common.metrics.Sensor sensor, java.lang.String group, java.util.Map<java.lang.String,java.lang.String> tags, java.lang.String operation)
-
addAvgAndMinAndMaxToSensor
public static void addAvgAndMinAndMaxToSensor(org.apache.kafka.common.metrics.Sensor sensor, java.lang.String group, java.util.Map<java.lang.String,java.lang.String> tags, java.lang.String operation, java.lang.String descriptionOfAvg, java.lang.String descriptionOfMin, java.lang.String descriptionOfMax)
-
addInvocationRateAndCountToSensor
public static void addInvocationRateAndCountToSensor(org.apache.kafka.common.metrics.Sensor sensor, java.lang.String group, java.util.Map<java.lang.String,java.lang.String> tags, java.lang.String operation, java.lang.String descriptionOfRate, java.lang.String descriptionOfCount)
-
addInvocationRateToSensor
public static void addInvocationRateToSensor(org.apache.kafka.common.metrics.Sensor sensor, java.lang.String group, java.util.Map<java.lang.String,java.lang.String> tags, java.lang.String operation, java.lang.String descriptionOfRate)
-
addInvocationRateAndCountToSensor
public static void addInvocationRateAndCountToSensor(org.apache.kafka.common.metrics.Sensor sensor, java.lang.String group, java.util.Map<java.lang.String,java.lang.String> tags, java.lang.String operation)
-
addRateOfSumAndSumMetricsToSensor
public static void addRateOfSumAndSumMetricsToSensor(org.apache.kafka.common.metrics.Sensor sensor, java.lang.String group, java.util.Map<java.lang.String,java.lang.String> tags, java.lang.String operation, java.lang.String descriptionOfRate, java.lang.String descriptionOfTotal)
-
addRateOfSumMetricToSensor
public static void addRateOfSumMetricToSensor(org.apache.kafka.common.metrics.Sensor sensor, java.lang.String group, java.util.Map<java.lang.String,java.lang.String> tags, java.lang.String operation, java.lang.String description)
-
addSumMetricToSensor
public static void addSumMetricToSensor(org.apache.kafka.common.metrics.Sensor sensor, java.lang.String group, java.util.Map<java.lang.String,java.lang.String> tags, java.lang.String operation, java.lang.String description)
-
addSumMetricToSensor
public static void addSumMetricToSensor(org.apache.kafka.common.metrics.Sensor sensor, java.lang.String group, java.util.Map<java.lang.String,java.lang.String> tags, java.lang.String operation, boolean withSuffix, java.lang.String description)
-
addValueMetricToSensor
public static void addValueMetricToSensor(org.apache.kafka.common.metrics.Sensor sensor, java.lang.String group, java.util.Map<java.lang.String,java.lang.String> tags, java.lang.String name, java.lang.String description)
-
addAvgAndSumMetricsToSensor
public static void addAvgAndSumMetricsToSensor(org.apache.kafka.common.metrics.Sensor sensor, java.lang.String group, java.util.Map<java.lang.String,java.lang.String> tags, java.lang.String metricNamePrefix, java.lang.String descriptionOfAvg, java.lang.String descriptionOfTotal)
-
maybeMeasureLatency
public static void maybeMeasureLatency(java.lang.Runnable actionToMeasure, org.apache.kafka.common.utils.Time time, org.apache.kafka.common.metrics.Sensor sensor)
-
maybeMeasureLatency
public static <T> T maybeMeasureLatency(java.util.function.Supplier<T> actionToMeasure, org.apache.kafka.common.utils.Time time, org.apache.kafka.common.metrics.Sensor sensor)
-
removeSensor
public void removeSensor(org.apache.kafka.common.metrics.Sensor sensor)
Deletes a sensor and its parents, if any- Specified by:
removeSensorin interfaceStreamsMetrics- Parameters:
sensor- sensor to be removed
-
-