confluentinc / librdkafka

The Apache Kafka C/C++ library
Other
7.36k stars 3.11k forks source link

Unable to receive any stats in the stats callback method #4711

Closed coding-yogi closed 1 month ago

coding-yogi commented 1 month ago

Read the FAQ first: https://github.com/confluentinc/librdkafka/wiki/FAQ

Do NOT create issues for questions, use the discussion forum: https://github.com/confluentinc/librdkafka/discussions

Description

I am using a custom context with below code

 struct CustomContext; 
 impl ConsumerContext for CustomContext {} 
 impl ClientContext for CustomContext { 
    fn stats(&self, statistics: rdkafka::Statistics) {
        log::info!("{:?}", statistics);                
    } 
} 

This context is then passed to create a BaseConsumer client . The statistics.interval.ms is being set to 10000 in ClientConfig

How to reproduce

  1. Create context as defined above
  2. set following in config client_config.set("statistics.interval.ms", "10000");
  3. Create base consumer with context
    let context = CustomContext;
    let base_consumer = BaseConsumer::from_config_and_context(config, context)?;
  4. One consumer is created, I just loop
    loop {
    //sleep 1 sec
    }
  5. I expect logs to be printed with stats

Checklist

IMPORTANT: We will close issues where the checklist has not been completed.

Please provide the following information:

coding-yogi commented 1 month ago

Sorted. Checked the code and understood I need to keep polling