public interface StreamsMetrics
Modifier and Type | Method and Description |
---|---|
Sensor |
addLatencyRateTotalSensor(String scopeName,
String entityName,
String operationName,
Sensor.RecordingLevel recordingLevel,
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 via
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. |
Sensor |
addRateTotalSensor(String scopeName,
String entityName,
String operationName,
Sensor.RecordingLevel recordingLevel,
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 via
Sensor.record(double) etc,
it will be counted as one invocation of the operation, and hence the rate / count metrics will be updated accordingly. |
Sensor |
addSensor(String name,
Sensor.RecordingLevel recordingLevel)
Generic method to create a sensor.
|
Sensor |
addSensor(String name,
Sensor.RecordingLevel recordingLevel,
Sensor... parents)
Generic method to create a sensor with parent sensors.
|
Map<MetricName,? extends Metric> |
metrics()
Get read-only handle on global metrics registry.
|
void |
removeSensor(Sensor sensor)
Remove a sensor.
|
Map<MetricName,? extends Metric> metrics()
Sensor addLatencyRateTotalSensor(String scopeName, String entityName, String operationName, Sensor.RecordingLevel recordingLevel, String... tags)
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 upon
Sensor.record(double)
calls.
The added sensor and its metrics can be removed with removeSensor()
.
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 sensoraddRateTotalSensor(String, String, String, Sensor.RecordingLevel, String...)
,
removeSensor(Sensor)
,
addSensor(String, Sensor.RecordingLevel, Sensor...)
Sensor addRateTotalSensor(String scopeName, String entityName, String operationName, Sensor.RecordingLevel recordingLevel, String... tags)
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 upon
Sensor.record(double)
calls.
The added sensor and its metrics can be removed with removeSensor()
.
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 sensoraddLatencyRateTotalSensor(String, String, String, Sensor.RecordingLevel, String...)
,
removeSensor(Sensor)
,
addSensor(String, Sensor.RecordingLevel, Sensor...)
Sensor addSensor(String name, Sensor.RecordingLevel recordingLevel)
addRateTotalSensor()
or addLatencyRateTotalSensor()
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.name
- name of the sensor.recordingLevel
- the recording level (e.g., INFO or DEBUG) for this sensoraddRateTotalSensor(String, String, String, Sensor.RecordingLevel, String...)
,
addLatencyRateTotalSensor(String, String, String, Sensor.RecordingLevel, String...)
,
removeSensor(Sensor)
Sensor addSensor(String name, Sensor.RecordingLevel recordingLevel, Sensor... parents)
addRateTotalSensor()
or addLatencyRateTotalSensor()
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.name
- name of the sensorrecordingLevel
- the recording level (e.g., INFO or DEBUG) for this sensoraddRateTotalSensor(String, String, String, Sensor.RecordingLevel, String...)
,
addLatencyRateTotalSensor(String, String, String, Sensor.RecordingLevel, String...)
,
removeSensor(Sensor)
void removeSensor(Sensor sensor)
sensor
- sensor to be removed