Class KafkaClientMetrics
- All Implemented Interfaces:
MeterBinder,AutoCloseable
It is based on the Kafka client's metrics() method returning a Metric
map.
Meter names have the following convention: kafka.(metric_group).(metric_name)
- Since:
- 1.4.0
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionKafkaClientMetrics(org.apache.kafka.clients.admin.AdminClient adminClient) KafkaAdminClientmetrics binderKafkaClientMetrics(org.apache.kafka.clients.admin.AdminClient adminClient, Iterable<Tag> tags) KafkaAdminClientmetrics binderKafkaClientMetrics(org.apache.kafka.clients.admin.AdminClient adminClient, Iterable<Tag> tags, ScheduledExecutorService scheduler) KafkaAdminClientmetrics binder.KafkaClientMetrics(org.apache.kafka.clients.admin.AdminClient adminClient, Iterable<Tag> tags, ScheduledExecutorService scheduler, Duration refreshInterval) KafkaAdminClientmetrics binder.KafkaClientMetrics(org.apache.kafka.clients.consumer.Consumer<?, ?> kafkaConsumer) KafkaConsumermetrics binderKafkaClientMetrics(org.apache.kafka.clients.consumer.Consumer<?, ?> kafkaConsumer, Iterable<Tag> tags) KafkaConsumermetrics binderKafkaClientMetrics(org.apache.kafka.clients.consumer.Consumer<?, ?> kafkaConsumer, Iterable<Tag> tags, ScheduledExecutorService scheduler) KafkaConsumermetrics binder.KafkaClientMetrics(org.apache.kafka.clients.consumer.Consumer<?, ?> kafkaConsumer, Iterable<Tag> tags, ScheduledExecutorService scheduler, Duration refreshInterval) KafkaConsumermetrics binder.KafkaClientMetrics(org.apache.kafka.clients.producer.Producer<?, ?> kafkaProducer) KafkaProducermetrics binderKafkaClientMetrics(org.apache.kafka.clients.producer.Producer<?, ?> kafkaProducer, Iterable<Tag> tags) KafkaProducermetrics binderKafkaClientMetrics(org.apache.kafka.clients.producer.Producer<?, ?> kafkaProducer, Iterable<Tag> tags, ScheduledExecutorService scheduler) KafkaProducermetrics binder.KafkaClientMetrics(org.apache.kafka.clients.producer.Producer<?, ?> kafkaProducer, Iterable<Tag> tags, ScheduledExecutorService scheduler, Duration refreshInterval) KafkaProducermetrics binder. -
Method Summary
-
Constructor Details
-
KafkaClientMetrics
public KafkaClientMetrics(org.apache.kafka.clients.producer.Producer<?, ?> kafkaProducer, Iterable<Tag> tags, ScheduledExecutorService scheduler) KafkaProducermetrics binder. The lifecycle of the custom scheduler passed is the responsibility of the caller. It will not be shut down when this instance isclosed. A scheduler can be shared among multiple instances ofKafkaClientMetricsto reduce resource usage by reducing the number of threads if there will be many instances.- Parameters:
kafkaProducer- producer instance to be instrumentedtags- additional tagsscheduler- custom scheduler to check and bind metrics- Since:
- 1.14.0
-
KafkaClientMetrics
public KafkaClientMetrics(org.apache.kafka.clients.producer.Producer<?, ?> kafkaProducer, Iterable<Tag> tags, ScheduledExecutorService scheduler, Duration refreshInterval) KafkaProducermetrics binder. The lifecycle of the custom scheduler passed is the responsibility of the caller. It will not be shut down when this instance isclosed. A scheduler can be shared among multiple instances ofKafkaClientMetricsto reduce resource usage by reducing the number of threads if there will be many instances.The refresh interval governs how frequently Micrometer should call the Kafka Client's Metrics API to discover new metrics to register and discard old ones since the Kafka Client can add/remove/recreate metrics on-the-fly. Please notice that this is not for fetching values for already registered metrics but for updating the list of registered metrics when the Kafka Client adds/removes/recreates them. It is the responsibility of the caller to choose the right value since this process can be expensive and metrics can appear and disappear without being published if the interval is not chosen appropriately.
- Parameters:
kafkaProducer- producer instance to be instrumentedtags- additional tagsscheduler- custom scheduler to check and bind metricsrefreshInterval- interval of discovering new/removed/recreated metrics by the Kafka Client- Since:
- 1.16.0
-
KafkaClientMetrics
public KafkaClientMetrics(org.apache.kafka.clients.producer.Producer<?, ?> kafkaProducer, Iterable<Tag> tags) KafkaProducermetrics binder- Parameters:
kafkaProducer- producer instance to be instrumentedtags- additional tags
-
KafkaClientMetrics
public KafkaClientMetrics(org.apache.kafka.clients.producer.Producer<?, ?> kafkaProducer) KafkaProducermetrics binder- Parameters:
kafkaProducer- producer instance to be instrumented
-
KafkaClientMetrics
public KafkaClientMetrics(org.apache.kafka.clients.consumer.Consumer<?, ?> kafkaConsumer, Iterable<Tag> tags, ScheduledExecutorService scheduler) KafkaConsumermetrics binder. The lifecycle of the custom scheduler passed is the responsibility of the caller. It will not be shut down when this instance isclosed. A scheduler can be shared among multiple instances ofKafkaClientMetricsto reduce resource usage by reducing the number of threads if there will be many instances.- Parameters:
kafkaConsumer- consumer instance to be instrumentedtags- additional tagsscheduler- custom scheduler to check and bind metrics- Since:
- 1.14.0
-
KafkaClientMetrics
public KafkaClientMetrics(org.apache.kafka.clients.consumer.Consumer<?, ?> kafkaConsumer, Iterable<Tag> tags, ScheduledExecutorService scheduler, Duration refreshInterval) KafkaConsumermetrics binder. The lifecycle of the custom scheduler passed is the responsibility of the caller. It will not be shut down when this instance isclosed. A scheduler can be shared among multiple instances ofKafkaClientMetricsto reduce resource usage by reducing the number of threads if there will be many instances.The refresh interval governs how frequently Micrometer should call the Kafka Client's Metrics API to discover new metrics to register and discard old ones since the Kafka Client can add/remove/recreate metrics on-the-fly. Please notice that this is not for fetching values for already registered metrics but for updating the list of registered metrics when the Kafka Client adds/removes/recreates them. It is the responsibility of the caller to choose the right value since this process can be expensive and metrics can appear and disappear without being published if the interval is not chosen appropriately.
- Parameters:
kafkaConsumer- consumer instance to be instrumentedtags- additional tagsscheduler- custom scheduler to check and bind metricsrefreshInterval- interval of discovering new/removed/recreated metrics by the Kafka Client- Since:
- 1.16.0
-
KafkaClientMetrics
public KafkaClientMetrics(org.apache.kafka.clients.consumer.Consumer<?, ?> kafkaConsumer, Iterable<Tag> tags) KafkaConsumermetrics binder- Parameters:
kafkaConsumer- consumer instance to be instrumentedtags- additional tags
-
KafkaClientMetrics
public KafkaClientMetrics(org.apache.kafka.clients.consumer.Consumer<?, ?> kafkaConsumer) KafkaConsumermetrics binder- Parameters:
kafkaConsumer- consumer instance to be instrumented
-
KafkaClientMetrics
public KafkaClientMetrics(org.apache.kafka.clients.admin.AdminClient adminClient, Iterable<Tag> tags, ScheduledExecutorService scheduler) KafkaAdminClientmetrics binder. The lifecycle of the custom scheduler passed is the responsibility of the caller. It will not be shut down when this instance isclosed. A scheduler can be shared among multiple instances ofKafkaClientMetricsto reduce resource usage by reducing the number of threads if there will be many instances.- Parameters:
adminClient- instance to be instrumentedtags- additional tagsscheduler- custom scheduler to check and bind metrics- Since:
- 1.14.0
-
KafkaClientMetrics
public KafkaClientMetrics(org.apache.kafka.clients.admin.AdminClient adminClient, Iterable<Tag> tags, ScheduledExecutorService scheduler, Duration refreshInterval) KafkaAdminClientmetrics binder. The lifecycle of the custom scheduler passed is the responsibility of the caller. It will not be shut down when this instance isclosed. A scheduler can be shared among multiple instances ofKafkaClientMetricsto reduce resource usage by reducing the number of threads if there will be many instances.The refresh interval governs how frequently Micrometer should call the Kafka Client's Metrics API to discover new metrics to register and discard old ones since the Kafka Client can add/remove/recreate metrics on-the-fly. Please notice that this is not for fetching values for already registered metrics but for updating the list of registered metrics when the Kafka Client adds/removes/recreates them. It is the responsibility of the caller to choose the right value since this process can be expensive and metrics can appear and disappear without being published if the interval is not chosen appropriately.
- Parameters:
adminClient- instance to be instrumentedtags- additional tagsscheduler- custom scheduler to check and bind metricsrefreshInterval- interval of discovering new/removed/recreated metrics by the Kafka Client- Since:
- 1.16.0
-
KafkaClientMetrics
public KafkaClientMetrics(org.apache.kafka.clients.admin.AdminClient adminClient, Iterable<Tag> tags) KafkaAdminClientmetrics binder- Parameters:
adminClient- instance to be instrumentedtags- additional tags
-
KafkaClientMetrics
public KafkaClientMetrics(org.apache.kafka.clients.admin.AdminClient adminClient) KafkaAdminClientmetrics binder- Parameters:
adminClient- instance to be instrumented
-
-
Method Details
-
bindTo
- Specified by:
bindToin interfaceMeterBinder
-
close
public void close()- Specified by:
closein interfaceAutoCloseable
-