Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-3701

Expose KafkaStreams metrics in public API

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.10.2.0
    • Component/s: streams
    • Labels:

      Description

      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.

        Attachments

          Activity

            People

            • Assignee:
              enothereska Eno Thereska
              Reporter:
              jeff.klukas@gmail.com Jeff Klukas
              Reviewer:
              Guozhang Wang
            • Votes:
              1 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: