Jeff Klukas created KAFKA-3701:
----------------------------------

             Summary: Expose KafkaStreams metrics in public API
                 Key: KAFKA-3701
                 URL: https://issues.apache.org/jira/browse/KAFKA-3701
             Project: Kafka
          Issue Type: Improvement
          Components: streams
            Reporter: Jeff Klukas
            Assignee: Guozhang Wang
            Priority: Minor
             Fix For: 0.10.1.0


The Kafka clients expose their metrics registries through a `metrics` method 
presenting an unmodifiable collection, but `KafkaStreams` does not expose its 
registry. Currently, applications can access a StreamsMetrics instance via the 
ProcessorContext within a Processor, but this limits flexibility.

Having read-only access to a KafkaStreams.metrics() method would allow a 
developer to define a health check for their application based on the metrics 
that KafkaStreams is collecting. Or a developer might want to define a metric 
in some other framework based on KafkaStreams' metrics.

I am imagining that an application would build and register KafkaStreams-based 
health checks after building a KafkaStreams instance but before calling the 
start() method. Are metrics added to the registry at the time a KafkaStreams 
instance is constructed, or only after calling the start() method? If metrics 
are registered only after application startup, then this approach may not be 
sufficient.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to