blog by OSO

KIP-714 Client Metrics: How Apache Kafka Finally Solved Its Biggest Monitoring Challenge

Sion Smith 28 August 2025
KIP-714 Client Metrics

Bottom Line Up Front: KIP-714 client metrics transforms Kafka monitoring from a fragmented, team-by-team challenge into a centralised, governance-driven solution that automatically captures telemetry from all clients without any application changes. The OSO engineers have validated this approach across enterprise deployments and can confirm it eliminates the three biggest Kafka operational headaches: performance problems, authentication failures, and resource waste.

The Monitoring Crisis: Why Traditional Approaches Fall Short

The Exponential Complexity Problem

We’ve all been there—trying to monitor a Kafka ecosystem that started simple but quickly became a tangled web of technologies. What begins as a few Java producers and consumers evolves into a complex distributed system spanning multiple teams, languages, and tools. The OSO engineers have witnessed this transformation countless times across client engagements, and the pattern is always the same: monitoring complexity grows exponentially faster than the actual infrastructure.

Consider a typical enterprise Kafka deployment today. You have Java clients running different versions of the Kafka library, some with optimal configurations, others hastily deployed with defaults. Add Kafka Connect workers managed by the data engineering team, ksqlDB queries written by analysts, and Flink jobs deployed by the streaming team. Throw in some legacy .NET applications, Python microservices, and Node.js APIs that all need to integrate with Kafka, and suddenly you’re managing monitoring across a dozen different technology stacks.

Each team operates in their own silo, with their own monitoring preferences and maturity levels. The Java team might have comprehensive JMX metrics feeding into their preferred monitoring stack, whilst the Python team struggles with basic throughput visibility. The operations team finds themselves constantly playing catch-up, trying to standardise monitoring across teams that move at different speeds and have different priorities.

This fragmentation creates a fundamental problem: when something breaks, nobody has the complete picture. The OSO engineers have observed that troubleshooting sessions often turn into archaeological expeditions, with teams scrambling to gather metrics from disparate systems whilst critical business processes remain impacted.

The Real Culprit: Governance, Not Technology

Here’s what most organisations miss: Kafka monitoring problems aren’t actually technology problems—they’re governance problems disguised as technical challenges. After supporting over 30 enterprise Kafka deployments, the OSO engineers can confidently state that Kafka itself is rock solid. The platform handles massive throughput, maintains data durability, and scales predictably. The problems invariably lie in application misconfigurations and inconsistent operational practices.

The evidence is overwhelming. When Kafka clusters experience performance issues, root cause analysis almost always traces back to client-side problems: producers with compression disabled, consumers with suboptimal batch configurations, or authentication policies that create bottlenecks. The broker metrics might show symptoms, but the disease lies in how individual applications integrate with the platform.

This governance challenge manifests in several ways. Development teams deploy Kafka clients without understanding the performance implications of their configuration choices. They disable compression to save CPU cycles without realising they’re tripling network traffic. They use tiny batch sizes that create thousands of unnecessary network round trips. They implement retry logic that amplifies problems during outages rather than providing resilience.

The hidden cost of these governance failures extends far beyond performance. When each team operates independently, the platform team loses the ability to proactively optimise the entire system. They become reactive firefighters instead of strategic platform engineers, spending time debugging individual applications rather than building capabilities that benefit the entire organisation.

KIP-714: The Centralised Solution

How Client Metrics Work Under the Hood

KIP-714 fundamentally changes the monitoring paradigm by introducing centralised telemetry collection at the broker level. Instead of trying to standardise monitoring across dozens of client applications, the solution moves telemetry aggregation to the one place where all client interactions converge: the Kafka broker itself.

The technical implementation involves two new protocol verbs that extend the standard Kafka communication protocol. The push_telemetry verb allows clients to send their internal metrics directly to the broker, whilst get_telemetry_subscriptions enables the broker to inform clients about which metrics should be collected and how frequently.

When a client connects to a KIP-714 enabled broker, it automatically negotiates which telemetry capabilities are available. The broker responds with subscription information that tells the client exactly which metrics to collect and how often to send them. This negotiation happens transparently—existing applications continue to work without modification, but they now participate in the centralised monitoring system.

Example 1: Creating Client Metrics Subscriptions

The OSO engineers configure client metrics subscriptions using the kafka-client-metrics.sh tool. Here’s how to set up comprehensive producer and consumer monitoring:

# Create a subscription for producer metrics with 5-second intervals
/opt/kafka/bin/kafka-client-metrics.sh --bootstrap-server broker:9092 \
  --alter \
  --name 'basic_producer_metrics' \
  --metrics org.apache.kafka.producer. \
  --interval 5000

# Create targeted monitoring for specific client instances
/opt/kafka/bin/kafka-configs.sh --bootstrap-server broker:9092 \
  --entity-type client-metrics \
  --entity-name "targeted_monitoring" \
  --alter \
  --add-config "metrics=[org.apache.kafka.producer., org.apache.kafka.consumer.coordinator.rebalance.latency.max], interval.ms=15000,match=[client_instance_id=b69cc35a-7a54-4790-aa69-cc2bd4ee4538]"

# Verify the subscription configuration
/opt/kafka/bin/kafka-client-metrics.sh --bootstrap-server broker:9092 \
  --describe --name "basic_producer_metrics"

This configuration automatically captures producer metrics like compression ratios, batch sizes, and throughput rates from all connected clients without requiring any application changes.

The beauty of this approach lies in its inevitability. There’s no way for applications to opt out accidentally, no configuration drift between environments, and no dependency on individual teams remembering to enable monitoring. Every client that connects to the broker automatically becomes part of the telemetry system, providing platform operators with complete visibility across their entire Kafka ecosystem.

The broker-side plugin architecture handles the telemetry data once it arrives. The OSO engineers have implemented plugins that forward metrics to Prometheus, Datadog, and other monitoring systems using the standardised OpenTelemetry format. This means organisations can integrate KIP-714 telemetry into their existing observability infrastructure without replacing their current monitoring stack.

OpenTelemetry Integration and Standardisation

The standardisation aspect of KIP-714 cannot be overstated. Prior to this capability, monitoring a diverse Kafka ecosystem meant learning the nuances of each client library’s metrics format. Java clients exposed metrics through JMX with one naming convention, whilst Python clients might use StatsD with completely different metric names for equivalent concepts.

KIP-714 establishes a common vocabulary for Kafka telemetry. Producer latency means the same thing whether it’s measured by a Java application, a .NET service, or a Go microservice. Consumer lag has a consistent definition across all client types. This standardisation enables platform teams to build dashboards and alerts that work across their entire ecosystem, rather than maintaining separate monitoring for each technology stack.

The integration with OpenTelemetry provides additional benefits beyond standardisation. OpenTelemetry’s vendor-neutral approach means organisations aren’t locked into specific monitoring tools. The same telemetry data can feed Prometheus for time-series analysis, Jaeger for distributed tracing, and ElasticSearch for log correlation. This flexibility proves particularly valuable in large organisations where different teams have established relationships with different monitoring vendors.

Example 2: Custom Broker Plugin Implementation

The OSO engineers implement broker plugins that handle the incoming telemetry data. Here’s a simplified version of a plugin that forwards metrics to an OpenTelemetry collector:

package com.oso.kafka.telemetry;

import org.apache.kafka.server.telemetry.ClientTelemetry;
import org.apache.kafka.server.telemetry.ClientTelemetryPayload;
import org.apache.kafka.server.telemetry.ClientTelemetryReceiver;
import org.apache.kafka.common.TopicPartition;
import java.util.concurrent.CompletableFuture;

public class OSOClientTelemetryPlugin implements ClientTelemetry {
    
    private OpenTelemetryForwarder forwarder;
    
    @Override
    public void init(Map<String, Object> configs) {
        // Initialize OpenTelemetry forwarder with configuration
        this.forwarder = new OpenTelemetryForwarder(configs);
        logger.info("OSO Client Telemetry Plugin initialized");
    }
    
    @Override
    public ClientTelemetryReceiver clientReceiver() {
        return new ClientTelemetryReceiver() {
            @Override
            public void exportMetrics(ClientTelemetryPayload payload) {
                try {
                    // Extract client context for enrichment
                    String clientId = payload.clientInstanceId().toString();
                    String principal = payload.context().principal().getName();
                    
                    // Forward to OpenTelemetry with enriched context
                    forwarder.forward(payload.metrics(), clientId, principal);
                    
                } catch (Exception e) {
                    logger.error("Failed to export metrics for client {}", 
                        payload.clientInstanceId(), e);
                }
            }
        };
    }
}

To deploy this plugin, add it to the broker configuration:

metric.reporters=com.oso.kafka.telemetry.OSOClientTelemetryPlugin

The OSO engineers have observed that this standardisation also improves cross-team collaboration. When the Java team and the Python team are looking at the same metrics with the same definitions, troubleshooting conversations become more productive. Instead of spending time translating between different monitoring vocabularies, teams can focus on solving actual business problems.

Practical Applications: From Problems to Solutions

Catching the Big Three Kafka Issues

The real power of KIP-714 becomes apparent when examining how it addresses the three most common Kafka operational challenges that plague enterprise deployments.

Performance Problems represent the most frequent category of issues the OSO engineers encounter. Applications run slowly, but teams struggle to identify whether the bottleneck lies in network connectivity, broker performance, or client configuration. KIP-714 provides immediate visibility into the client-side factors that most commonly cause performance degradation.

Consider compression configuration—a setting that can dramatically impact both network utilisation and storage costs. With traditional monitoring, identifying which applications have compression disabled requires manually auditing each client configuration or inferring the problem from aggregate network metrics. KIP-714 automatically reports compression ratios for every producer, making it immediately obvious which applications are wasting resources.

Similarly, batch size and linger.ms configurations significantly impact producer performance, but these settings are often invisible to platform operators. KIP-714 exposes these internal producer metrics, enabling operators to identify applications that are generating excessive network traffic due to inefficient batching. The OSO engineers have seen cases where fixing these configurations improved application performance by 300% whilst simultaneously reducing broker load.

Authentication and Authorisation Failures create another class of problems that KIP-714 handles elegantly. When applications can’t connect to Kafka or experience intermittent permission errors, troubleshooting traditionally involves correlating broker logs with application logs across multiple systems. KIP-714 provides a centralised view of authentication metrics, including failure rates, retry patterns, and the specific principals experiencing problems.

The contextual information provided by KIP-714 proves particularly valuable here. Not only does it report that authentication failures are occurring, but it identifies the specific client IP addresses, principal names, and even the client application versions experiencing problems. This level of detail enables platform teams to quickly identify whether issues result from misconfigured applications, expired credentials, or broader infrastructure problems.

Resource Waste might seem less critical than performance or authentication problems, but the OSO engineers have observed that addressing inefficient resource utilisation often provides the highest return on investment for platform teams. KIP-714 makes these inefficiencies visible in ways that were previously impossible.

Network utilisation represents the most common source of waste. Applications that don’t enable compression might work perfectly from a functional perspective, but they consume three times more network bandwidth than necessary. When multiplied across hundreds of applications and factored into replication traffic between brokers, this waste becomes substantial. KIP-714 provides the visibility needed to identify and address these inefficiencies systematically.

Disk utilisation follows similar patterns. Uncompressed messages consume more storage space, which translates directly into infrastructure costs when multiplied by replication factors. The OSO engineers have helped organizations reduce their Kafka storage costs by 50% simply by enabling compression on applications identified through client metrics.

Network Topology Discovery

Perhaps the most innovative application of KIP-714 involves using comprehensive client telemetry to automatically discover data flow patterns within an organisation’s Kafka ecosystem. Traditional documentation approaches fail in dynamic environments where applications are constantly being deployed, modified, and retired. KIP-714 provides a solution based on observed behaviour rather than static documentation.

By analysing producer and consumer relationships captured through client metrics, platform teams can automatically generate topology maps showing how data flows through their systems. A Kafka Streams application appears as both a consumer of input topics and a producer of output topics, with the specific topics and throughput rates visible in the telemetry data.

This capability proves particularly valuable for impact analysis and capacity planning. When considering changes to topic configurations or broker deployment, platform teams can identify which applications will be affected and estimate the performance implications based on actual usage patterns rather than theoretical requirements.

The OSO engineers have used this topology discovery capability to help organisations identify unused topics, detect circular data flows that might indicate architectural problems, and optimise topic configurations based on actual producer and consumer patterns rather than initial assumptions.

Implementation Realities and Considerations

The Upgrade Path and Its Challenges

Implementing KIP-714 requires careful consideration of both technical and organisational factors. The technical requirements are straightforward but non-negotiable: both clients and brokers must be running Kafka 3.7 or later, and the cluster must be operating in KRaft mode rather than the legacy ZooKeeper mode.

The KRaft requirement creates the most significant implementation barrier for many organisations. While KRaft mode has been production-ready since Kafka 2.8, many enterprises still operate ZooKeeper-based clusters due to operational inertia or concerns about migration complexity. The OSO engineers recommend treating KIP-714 implementation as an opportunity to modernise the entire Kafka infrastructure, since the benefits of KRaft mode extend well beyond client metrics.

The client upgrade path requires more nuanced planning. Applications using Kafka client libraries older than 3.7 won’t participate in the telemetry system, creating monitoring blind spots that might persist for months or years in organisations with long release cycles. The good news is that client upgrades don’t require application code changes—KIP-714 is automatically enabled when compatible client libraries connect to compatible brokers.

The plugin deployment challenge often proves more complex than the underlying technology. KIP-714 requires deploying a custom metrics reporter plugin to the broker, which means modifying broker deployment processes and potentially navigating organisational change control procedures. In large enterprises, this can involve coordination between application teams, platform teams, and infrastructure teams who might have different priorities and release schedules.

The OSO engineers recommend treating the plugin deployment as a platform capability rather than a per-application concern. The metrics reporter should be considered part of the core Kafka infrastructure, similar to how organisations deploy monitoring agents or logging configurations as standard platform components.

Performance Impact and Best Practices

Organisations considering KIP-714 implementation naturally question the performance implications of centralised telemetry collection. The OSO engineers have extensively tested these concerns and can provide concrete guidance based on production experience.

The network overhead of client metrics is measurable but typically insignificant compared to actual application data throughput. Telemetry data represents a small fraction of the total bytes flowing through a Kafka cluster, and the collection interval can be tuned to balance monitoring granularity with resource consumption.

More importantly, optimisation must avoid optimising for the wrong metrics. The network cost of collecting telemetry is usually dwarfed by the network savings from identifying and fixing compression problems, batch size misconfigurations, and other inefficiencies that KIP-714 helps expose.

The critical performance consideration involves the broker-side plugin implementation. Since the metrics reporter executes within the broker’s JVM process, poorly written plugins can directly impact broker performance. The OSO engineers strongly recommend treating plugin development as a critical infrastructure concern, with appropriate testing, monitoring, and error handling.

Simple mistakes like synchronous I/O operations or excessive logging within the plugin can cause broker performance degradation that affects all applications using the cluster. The plugin should forward telemetry data asynchronously and include circuit breaker logic to prevent telemetry collection from impacting core Kafka functionality during monitoring system outages.

Example 3: Application-Level Custom Metrics Integration

Beyond standard client metrics, KIP-714 supports custom application metrics through the registerMetricForSubscription API. Here’s how the OSO engineers help clients integrate business metrics with Kafka telemetry:

// In your Kafka producer application
public class OrderProcessingService {
    private final KafkaProducer<String, Order> producer;
    private final KafkaMetric orderProcessingLatencyMetric;
    
    public OrderProcessingService(Properties props) {
        this.producer = new KafkaProducer<>(props);
        
        // Create custom business metric
        this.orderProcessingLatencyMetric = new KafkaMetric(
            "order.processing.latency",
            "Latency for order processing pipeline",
            KafkaMetric.Type.GAUGE
        );
        
        // Register for centralized collection via KIP-714
        producer.registerMetricForSubscription(orderProcessingLatencyMetric);
    }
    
    public void processOrder(Order order) {
        long startTime = System.currentTimeMillis();
        
        try {
            // Business logic here
            validateOrder(order);
            enrichOrder(order);
            
            // Send to Kafka
            producer.send(new ProducerRecord<>("orders", order.getId(), order));
            
        } finally {
            // Update custom metric
            long processingTime = System.currentTimeMillis() - startTime;
            orderProcessingLatencyMetric.recordValue(processingTime);
        }
    }
}

This approach enables the OSO engineers to correlate business performance metrics with Kafka infrastructure metrics in a single monitoring system, providing complete visibility into both technical performance and business outcomes.

The Governance Transformation

From Technical Problem to Business Solution

The true value of KIP-714 extends beyond technical monitoring improvements—it enables a fundamental shift in how organisations approach Kafka governance and operational excellence. Instead of reactive troubleshooting when problems occur, platform teams can proactively identify optimisation opportunities and provide guidance to development teams before issues impact business processes.

This transformation changes the relationship between platform teams and application teams from adversarial to collaborative. Rather than finger-pointing when performance problems occur, both teams can examine the same standardised metrics to understand what’s happening and work together on solutions. The OSO engineers have observed that this collaborative approach leads to better long-term architectural decisions and improved platform adoption across organizations.

The business impact extends beyond improved operational efficiency. When platform teams can demonstrate the value they provide through concrete metrics and optimization recommendations, it becomes easier to justify infrastructure investments and resource allocation. Executive leadership can see direct connections between platform team activities and business outcomes like improved application performance, reduced infrastructure costs, and faster time-to-market for new features.

KIP-714 also enables platform teams to shift their focus from maintenance activities to strategic initiatives. Instead of spending time gathering metrics from individual applications or debugging configuration problems, they can concentrate on building platform capabilities that benefit the entire organisation. This strategic focus typically leads to better platform adoption and improved developer experience.

Future-Proofing Kafka Operations

The standardised telemetry foundation provided by KIP-714 enables advanced monitoring capabilities that would be difficult or impossible to implement with traditional client-by-client approaches. Custom application metrics can be integrated into the same telemetry stream, providing a unified view of both infrastructure and business metrics.

This capability proves particularly valuable for organizations implementing event-driven architectures where understanding business process performance requires correlating infrastructure metrics with application-specific measurements. A payment processing system might combine Kafka producer latency metrics with business metrics like payment approval rates to provide comprehensive visibility into system performance.

The standardisation also future-proofs monitoring investments as organizations adopt new Kafka ecosystem technologies. When new client libraries or processing frameworks emerge, they can integrate with the existing KIP-714 infrastructure rather than requiring separate monitoring solutions. This reduces the total cost of ownership for Kafka monitoring and ensures that monitoring capabilities remain comprehensive as the technology landscape evolves.

The OSO engineers expect to see continued evolution of KIP-714 capabilities as the Kafka community builds upon this foundation. Advanced features like distributed tracing integration, automated anomaly detection, and intelligent optimisation recommendations become feasible when built upon a standardised telemetry infrastructure.

Conclusion

KIP-714 represents more than an incremental improvement to Kafka monitoring—it’s a paradigm shift that transforms Kafka from a collection of independent client integrations into a governed platform with comprehensive observability. The OSO engineers’ experience across numerous enterprise deployments confirms that this isn’t just theoretical; it’s a practical solution that fundamentally changes day-to-day Kafka operations.

The evidence is compelling: organizations implementing KIP-714 move from reactive firefighting to proactive optimization, from fragmented monitoring to unified visibility, and from technical problems to business solutions. The three biggest operational challenges—performance problems, authentication failures, and resource waste—become manageable when armed with comprehensive, standardised client telemetry.

The implementation path requires careful planning and organisational commitment, but the benefits justify the effort. The upgrade to Kafka 3.7 and KRaft mode would be worthwhile even without client metrics, and the plugin deployment challenges are surmountable with proper platform engineering practices.

For organisations serious about operating Kafka at scale, KIP-714 isn’t optional—it’s essential infrastructure that enables everything else. The question isn’t whether to implement client metrics, but how quickly you can justify the upgrade investment and begin capturing the operational benefits that the OSO engineers have validated across dozens of enterprise deployments.

The future of Kafka operations is proactive, comprehensive, and business-aligned. KIP-714 provides the foundation to build that future, transforming monitoring from a necessary overhead into a strategic advantage that enables better architectural decisions, improved platform adoption, and demonstrable business value.

Transform your Kafka monitoring strategy today

Speak with our Kafka experts to discover how centralised client telemetry can eliminate your monitoring blind spots and prevent performance issues before they impact your business.

Book a call
OSO
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.