from kafka import KafkaProducer from time import sleep producer = KafkaProducer( bootstrap_servers=['localhost:9092'], value_serializer=lambda x: x.encode('utf-8') ) # Define callback function to obtain metadata information def on_send_success(record_metadata): print('Message produced at partition {} and offset {}'.format( record_metadata.partition, record_metadata.offset)) sent_messages = 0 while True: message = 'Example message #{}'.format(sent_messages) future = producer.send('example-topic', message) future.add_callback(on_send_success) sent_messages += 1 # Obtain producer metrics to calculate production rate producer_metrics = producer.metrics() production_rate = producer_metrics['producer-send-requests-per-sec'] print('Production rate: {:.2f} messages/sec'.format(production_rate)) sleep(1)This code snippet creates a `KafkaProducer` instance and produces messages to a Kafka topic. It also tracks the number of messages produced per second using the `producer-send-requests-per-sec` metric obtained from the `metrics()` method available in the `kafka-python` package. Overall, the `kafka-python` package provides several useful metrics for monitoring Kafka producers, including message production rate, error rate, and serialization rate. These metrics can help identify issues and optimize the performance of Kafka producers.