Skip to content

Instantly share code, notes, and snippets.

@itzg
Last active March 28, 2022 17:07
Show Gist options
  • Select an option

  • Save itzg/d40fa3df6b8b978250ee147f3e298c7b to your computer and use it in GitHub Desktop.

Select an option

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
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)
);
}
}
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