Last active
March 28, 2022 17:07
-
-
Save itzg/d40fa3df6b8b978250ee147f3e298c7b to your computer and use it in GitHub Desktop.
Spring Boot does not auto-bind Kafka Streams metrics in its KafkaMetricsAutoConfiguration, so this does the metrics binding similarily for Kafka Streams
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import io.micrometer.core.instrument.MeterRegistry; | |
| import io.micrometer.core.instrument.binder.kafka.KafkaStreamsMetrics; | |
| import org.springframework.context.annotation.Bean; | |
| import org.springframework.context.annotation.Configuration; | |
| import org.springframework.kafka.config.StreamsBuilderFactoryBeanCustomizer; | |
| /** | |
| * Binds a micrometer {@link KafkaStreamsMetrics} to the meter registry | |
| * for each Kafka stream created by Spring. | |
| */ | |
| @Configuration | |
| public class KafkaStreamsMetricsConfig { | |
| @Bean | |
| public StreamsBuilderFactoryBeanCustomizer streamsBuilderCustomizer(MeterRegistry meterRegistry) { | |
| return streamsBuilderFactoryBean -> | |
| streamsBuilderFactoryBean.setKafkaStreamsCustomizer( | |
| kafkaStreams -> | |
| new KafkaStreamsMetrics(kafkaStreams).bindTo(meterRegistry) | |
| ); | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| kafka.admin.client.connection.close.rate | |
| kafka.admin.client.connection.close.total | |
| kafka.admin.client.connection.count | |
| kafka.admin.client.connection.creation.rate | |
| kafka.admin.client.connection.creation.total | |
| kafka.admin.client.failed.authentication.rate | |
| kafka.admin.client.failed.authentication.total | |
| kafka.admin.client.failed.reauthentication.rate | |
| kafka.admin.client.failed.reauthentication.total | |
| kafka.admin.client.incoming.byte.rate | |
| kafka.admin.client.incoming.byte.total | |
| kafka.admin.client.io.ratio | |
| kafka.admin.client.io.time.ns.avg | |
| kafka.admin.client.io.wait.ratio | |
| kafka.admin.client.io.wait.time.ns.avg | |
| kafka.admin.client.io.waittime.total | |
| kafka.admin.client.iotime.total | |
| kafka.admin.client.network.io.rate | |
| kafka.admin.client.network.io.total | |
| kafka.admin.client.node.incoming.byte.rate | |
| kafka.admin.client.node.incoming.byte.total | |
| kafka.admin.client.node.outgoing.byte.rate | |
| kafka.admin.client.node.outgoing.byte.total | |
| kafka.admin.client.node.request.latency.avg | |
| kafka.admin.client.node.request.latency.max | |
| kafka.admin.client.node.request.rate | |
| kafka.admin.client.node.request.size.avg | |
| kafka.admin.client.node.request.size.max | |
| kafka.admin.client.node.request.total | |
| kafka.admin.client.node.response.rate | |
| kafka.admin.client.node.response.total | |
| kafka.admin.client.outgoing.byte.rate | |
| kafka.admin.client.outgoing.byte.total | |
| kafka.admin.client.reauthentication.latency.avg | |
| kafka.admin.client.reauthentication.latency.max | |
| kafka.admin.client.request.rate | |
| kafka.admin.client.request.size.avg | |
| kafka.admin.client.request.size.max | |
| kafka.admin.client.request.total | |
| kafka.admin.client.response.rate | |
| kafka.admin.client.response.total | |
| kafka.admin.client.select.rate | |
| kafka.admin.client.select.total | |
| kafka.admin.client.successful.authentication.no.reauth.total | |
| kafka.admin.client.successful.authentication.rate | |
| kafka.admin.client.successful.authentication.total | |
| kafka.admin.client.successful.reauthentication.rate | |
| kafka.admin.client.successful.reauthentication.total | |
| kafka.app.info.start.time.ms | |
| kafka.consumer.connection.close.rate | |
| kafka.consumer.connection.close.total | |
| kafka.consumer.connection.count | |
| kafka.consumer.connection.creation.rate | |
| kafka.consumer.connection.creation.total | |
| kafka.consumer.coordinator.assigned.partitions | |
| kafka.consumer.coordinator.commit.latency.avg | |
| kafka.consumer.coordinator.commit.latency.max | |
| kafka.consumer.coordinator.commit.rate | |
| kafka.consumer.coordinator.commit.total | |
| kafka.consumer.coordinator.failed.rebalance.rate.per.hour | |
| kafka.consumer.coordinator.failed.rebalance.total | |
| kafka.consumer.coordinator.heartbeat.rate | |
| kafka.consumer.coordinator.heartbeat.response.time.max | |
| kafka.consumer.coordinator.heartbeat.total | |
| kafka.consumer.coordinator.join.rate | |
| kafka.consumer.coordinator.join.time.avg | |
| kafka.consumer.coordinator.join.time.max | |
| kafka.consumer.coordinator.join.total | |
| kafka.consumer.coordinator.last.heartbeat.seconds.ago | |
| kafka.consumer.coordinator.last.rebalance.seconds.ago | |
| kafka.consumer.coordinator.partition.assigned.latency.avg | |
| kafka.consumer.coordinator.partition.assigned.latency.max | |
| kafka.consumer.coordinator.partition.lost.latency.avg | |
| kafka.consumer.coordinator.partition.lost.latency.max | |
| kafka.consumer.coordinator.partition.revoked.latency.avg | |
| kafka.consumer.coordinator.partition.revoked.latency.max | |
| kafka.consumer.coordinator.rebalance.latency.avg | |
| kafka.consumer.coordinator.rebalance.latency.max | |
| kafka.consumer.coordinator.rebalance.latency.total | |
| kafka.consumer.coordinator.rebalance.rate.per.hour | |
| kafka.consumer.coordinator.rebalance.total | |
| kafka.consumer.coordinator.sync.rate | |
| kafka.consumer.coordinator.sync.time.avg | |
| kafka.consumer.coordinator.sync.time.max | |
| kafka.consumer.coordinator.sync.total | |
| kafka.consumer.failed.authentication.rate | |
| kafka.consumer.failed.authentication.total | |
| kafka.consumer.failed.reauthentication.rate | |
| kafka.consumer.failed.reauthentication.total | |
| kafka.consumer.fetch.manager.bytes.consumed.rate | |
| kafka.consumer.fetch.manager.bytes.consumed.total | |
| kafka.consumer.fetch.manager.fetch.latency.avg | |
| kafka.consumer.fetch.manager.fetch.latency.max | |
| kafka.consumer.fetch.manager.fetch.rate | |
| kafka.consumer.fetch.manager.fetch.size.avg | |
| kafka.consumer.fetch.manager.fetch.size.max | |
| kafka.consumer.fetch.manager.fetch.throttle.time.avg | |
| kafka.consumer.fetch.manager.fetch.throttle.time.max | |
| kafka.consumer.fetch.manager.fetch.total | |
| kafka.consumer.fetch.manager.preferred.read.replica | |
| kafka.consumer.fetch.manager.records.consumed.rate | |
| kafka.consumer.fetch.manager.records.consumed.total | |
| kafka.consumer.fetch.manager.records.lag | |
| kafka.consumer.fetch.manager.records.lag.avg | |
| kafka.consumer.fetch.manager.records.lag.max | |
| kafka.consumer.fetch.manager.records.lead | |
| kafka.consumer.fetch.manager.records.lead.avg | |
| kafka.consumer.fetch.manager.records.lead.min | |
| kafka.consumer.fetch.manager.records.per.request.avg | |
| kafka.consumer.incoming.byte.rate | |
| kafka.consumer.incoming.byte.total | |
| kafka.consumer.io.ratio | |
| kafka.consumer.io.time.ns.avg | |
| kafka.consumer.io.wait.ratio | |
| kafka.consumer.io.wait.time.ns.avg | |
| kafka.consumer.io.waittime.total | |
| kafka.consumer.iotime.total | |
| kafka.consumer.last.poll.seconds.ago | |
| kafka.consumer.network.io.rate | |
| kafka.consumer.network.io.total | |
| kafka.consumer.node.incoming.byte.rate | |
| kafka.consumer.node.incoming.byte.total | |
| kafka.consumer.node.outgoing.byte.rate | |
| kafka.consumer.node.outgoing.byte.total | |
| kafka.consumer.node.request.latency.avg | |
| kafka.consumer.node.request.latency.max | |
| kafka.consumer.node.request.rate | |
| kafka.consumer.node.request.size.avg | |
| kafka.consumer.node.request.size.max | |
| kafka.consumer.node.request.total | |
| kafka.consumer.node.response.rate | |
| kafka.consumer.node.response.total | |
| kafka.consumer.outgoing.byte.rate | |
| kafka.consumer.outgoing.byte.total | |
| kafka.consumer.poll.idle.ratio.avg | |
| kafka.consumer.reauthentication.latency.avg | |
| kafka.consumer.reauthentication.latency.max | |
| kafka.consumer.request.rate | |
| kafka.consumer.request.size.avg | |
| kafka.consumer.request.size.max | |
| kafka.consumer.request.total | |
| kafka.consumer.response.rate | |
| kafka.consumer.response.total | |
| kafka.consumer.select.rate | |
| kafka.consumer.select.total | |
| kafka.consumer.successful.authentication.no.reauth.total | |
| kafka.consumer.successful.authentication.rate | |
| kafka.consumer.successful.authentication.total | |
| kafka.consumer.successful.reauthentication.rate | |
| kafka.consumer.successful.reauthentication.total | |
| kafka.consumer.time.between.poll.avg | |
| kafka.consumer.time.between.poll.max | |
| kafka.producer.batch.size.avg | |
| kafka.producer.batch.size.max | |
| kafka.producer.batch.split.rate | |
| kafka.producer.batch.split.total | |
| kafka.producer.buffer.available.bytes | |
| kafka.producer.buffer.exhausted.rate | |
| kafka.producer.buffer.exhausted.total | |
| kafka.producer.buffer.total.bytes | |
| kafka.producer.bufferpool.wait.ratio | |
| kafka.producer.bufferpool.wait.time.total | |
| kafka.producer.compression.rate.avg | |
| kafka.producer.connection.close.rate | |
| kafka.producer.connection.close.total | |
| kafka.producer.connection.count | |
| kafka.producer.connection.creation.rate | |
| kafka.producer.connection.creation.total | |
| kafka.producer.failed.authentication.rate | |
| kafka.producer.failed.authentication.total | |
| kafka.producer.failed.reauthentication.rate | |
| kafka.producer.failed.reauthentication.total | |
| kafka.producer.incoming.byte.rate | |
| kafka.producer.incoming.byte.total | |
| kafka.producer.io.ratio | |
| kafka.producer.io.time.ns.avg | |
| kafka.producer.io.wait.ratio | |
| kafka.producer.io.wait.time.ns.avg | |
| kafka.producer.io.waittime.total | |
| kafka.producer.iotime.total | |
| kafka.producer.metadata.age | |
| kafka.producer.network.io.rate | |
| kafka.producer.network.io.total | |
| kafka.producer.node.incoming.byte.rate | |
| kafka.producer.node.incoming.byte.total | |
| kafka.producer.node.outgoing.byte.rate | |
| kafka.producer.node.outgoing.byte.total | |
| kafka.producer.node.request.latency.avg | |
| kafka.producer.node.request.latency.max | |
| kafka.producer.node.request.rate | |
| kafka.producer.node.request.size.avg | |
| kafka.producer.node.request.size.max | |
| kafka.producer.node.request.total | |
| kafka.producer.node.response.rate | |
| kafka.producer.node.response.total | |
| kafka.producer.outgoing.byte.rate | |
| kafka.producer.outgoing.byte.total | |
| kafka.producer.produce.throttle.time.avg | |
| kafka.producer.produce.throttle.time.max | |
| kafka.producer.reauthentication.latency.avg | |
| kafka.producer.reauthentication.latency.max | |
| kafka.producer.record.error.rate | |
| kafka.producer.record.error.total | |
| kafka.producer.record.queue.time.avg | |
| kafka.producer.record.queue.time.max | |
| kafka.producer.record.retry.rate | |
| kafka.producer.record.retry.total | |
| kafka.producer.record.send.rate | |
| kafka.producer.record.send.total | |
| kafka.producer.record.size.avg | |
| kafka.producer.record.size.max | |
| kafka.producer.records.per.request.avg | |
| kafka.producer.request.latency.avg | |
| kafka.producer.request.latency.max | |
| kafka.producer.request.rate | |
| kafka.producer.request.size.avg | |
| kafka.producer.request.size.max | |
| kafka.producer.request.total | |
| kafka.producer.requests.in.flight | |
| kafka.producer.response.rate | |
| kafka.producer.response.total | |
| kafka.producer.select.rate | |
| kafka.producer.select.total | |
| kafka.producer.successful.authentication.no.reauth.total | |
| kafka.producer.successful.authentication.rate | |
| kafka.producer.successful.authentication.total | |
| kafka.producer.successful.reauthentication.rate | |
| kafka.producer.successful.reauthentication.total | |
| kafka.producer.waiting.threads | |
| kafka.stream.processor.node.process.rate | |
| kafka.stream.processor.node.process.total | |
| kafka.stream.task.commit.latency.avg | |
| kafka.stream.task.commit.latency.max | |
| kafka.stream.task.commit.rate | |
| kafka.stream.task.commit.total | |
| kafka.stream.task.dropped.records.rate | |
| kafka.stream.task.dropped.records.total | |
| kafka.stream.task.enforced.processing.rate | |
| kafka.stream.task.enforced.processing.total | |
| kafka.stream.task.process.latency.avg | |
| kafka.stream.task.process.latency.max | |
| kafka.stream.task.process.rate | |
| kafka.stream.task.process.total | |
| kafka.stream.task.punctuate.latency.avg | |
| kafka.stream.task.punctuate.latency.max | |
| kafka.stream.task.punctuate.rate | |
| kafka.stream.task.punctuate.total | |
| kafka.stream.task.record.lateness.avg | |
| kafka.stream.task.record.lateness.max | |
| kafka.stream.thread.commit.latency.avg | |
| kafka.stream.thread.commit.latency.max | |
| kafka.stream.thread.commit.rate | |
| kafka.stream.thread.commit.total | |
| kafka.stream.thread.poll.latency.avg | |
| kafka.stream.thread.poll.latency.max | |
| kafka.stream.thread.poll.rate | |
| kafka.stream.thread.poll.total | |
| kafka.stream.thread.process.latency.avg | |
| kafka.stream.thread.process.latency.max | |
| kafka.stream.thread.process.rate | |
| kafka.stream.thread.process.total | |
| kafka.stream.thread.punctuate.latency.avg | |
| kafka.stream.thread.punctuate.latency.max | |
| kafka.stream.thread.punctuate.rate | |
| kafka.stream.thread.punctuate.total | |
| kafka.stream.thread.task.closed.rate | |
| kafka.stream.thread.task.closed.total | |
| kafka.stream.thread.task.created.rate | |
| kafka.stream.thread.task.created.total |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment