Skip to Content
FeaturesClient Quotas

Client Quotas

Pilot provides a UI and API for managing Kafka client quotas and analyzing quota utilization and violations.

Quota Types

Kafka supports quotas at multiple entity levels:

Entity TypeDescription
DefaultCluster-wide default quotas
Default UserDefault quotas for all users
Default Client IDDefault quotas for all client IDs
UserQuotas for a specific user
Client IDQuotas for a specific client ID
User + Client IDQuotas for a specific user and client ID combination

Quota Properties

Common quota properties include:

  • producer_byte_rate - maximum bytes/sec a producer can publish
  • consumer_byte_rate - maximum bytes/sec a consumer can fetch
  • request_percentage - request processing time per broker, summed across network and I/O threads. 100% represents one fully utilized thread; values above 100% are valid (1500% represents 15 threads).

API Endpoints

Read Operations (Free)

MethodPathDescription
GET/api/v1/quotasList all quotas
POST/api/v1/quotas/resolveResolve effective quotas for a user/client pair

Entity-Specific Operations

Each entity type supports GET (free), PUT (licensed), and DELETE (licensed):

EntityPath
Default/api/v1/quotas/default
Default User/api/v1/quotas/default-user
Default Client ID/api/v1/quotas/default-client-id
User/api/v1/quotas/user/{user}
Client ID/api/v1/quotas/client-id/{clientId}
User + Client ID/api/v1/quotas/user/{user}/{clientId}

Example: Set Producer Quota

curl -X PUT http://localhost:8080/api/v1/quotas/user/my-producer \ -H "Content-Type: application/json" \ -d '{"producer_byte_rate": 10485760}'
Last updated on