Package kafka.server

Class ClientRequestQuotaManager

java.lang.Object
kafka.server.ClientQuotaManager
kafka.server.ClientRequestQuotaManager
All Implemented Interfaces:
kafka.utils.Logging

public class ClientRequestQuotaManager extends kafka.server.ClientQuotaManager
  • Nested Class Summary

    Nested classes/interfaces inherited from class kafka.server.ClientQuotaManager

    kafka.server.ClientQuotaManager.BaseUserEntity, kafka.server.ClientQuotaManager.ClientIdEntity, kafka.server.ClientQuotaManager.ClientIdEntity$, kafka.server.ClientQuotaManager.DefaultClientIdEntity$, kafka.server.ClientQuotaManager.DefaultTags$, kafka.server.ClientQuotaManager.DefaultUserEntity$, kafka.server.ClientQuotaManager.KafkaQuotaEntity, kafka.server.ClientQuotaManager.KafkaQuotaEntity$, kafka.server.ClientQuotaManager.ThrottledChannelReaper, kafka.server.ClientQuotaManager.UserEntity, kafka.server.ClientQuotaManager.UserEntity$
  • Constructor Summary

    Constructors
    Constructor
    Description
    ClientRequestQuotaManager(org.apache.kafka.server.config.ClientQuotaManagerConfig config, org.apache.kafka.common.metrics.Metrics metrics, org.apache.kafka.common.utils.Time time, String threadNamePrefix, Optional<org.apache.kafka.server.quota.ClientQuotaCallback> quotaCallback)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apache.kafka.common.MetricName
    clientQuotaMetricName(scala.collection.immutable.Map<String,String> quotaMetricTags)
     
    org.apache.kafka.common.metrics.Sensor
     
    int
    maybeRecordAndGetThrottleTimeMs(kafka.network.RequestChannel.Request request, long timeMs)
    Records that a user/clientId changed request processing time being throttled.
    void
    maybeRecordExempt(kafka.network.RequestChannel.Request request)
     
    long
    throttleTime(org.apache.kafka.common.metrics.QuotaViolationException e, long timeMs)
     

    Methods inherited from class kafka.server.ClientQuotaManager

    $lessinit$greater$default$6, debug, debug, DefaultClientIdQuotaEntity, DefaultUserClientIdQuotaEntity, DefaultUserQuotaEntity, error, error, fatal, fatal, getMaxValueInQuotaWindow, getOrCreateQuotaSensors, getOrCreateSensor, getQuotaMetricConfig, InactiveSensorExpirationTimeSeconds, info, info, initiateShutdown, isDebugEnabled, isTraceEnabled, kafka$server$ClientQuotaManager$$delayQueueSensor, kafka$server$ClientQuotaManager$$quotaType, kafka$server$ClientQuotaManager$$quotaTypesEnabled, logger, loggerName, logIdent, logIdent_$eq, maybeRecordAndGetThrottleTimeMs, maybeRecordAndGetThrottleTimeMs, msgWithLogIdent, quota, quota, quotasEnabled, recordAndGetThrottleTimeMs, recordNoThrottle, registerQuotaMetrics, shutdown, throttle, throttledChannelReaper, trace, trace, unrecordQuotaSensor, updateQuota, updateQuotaMetricConfigs, updateQuotaMetricConfigs$default$1, warn, warn

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ClientRequestQuotaManager

      public ClientRequestQuotaManager(org.apache.kafka.server.config.ClientQuotaManagerConfig config, org.apache.kafka.common.metrics.Metrics metrics, org.apache.kafka.common.utils.Time time, String threadNamePrefix, Optional<org.apache.kafka.server.quota.ClientQuotaCallback> quotaCallback)
  • Method Details

    • exemptSensor

      public org.apache.kafka.common.metrics.Sensor exemptSensor()
    • maybeRecordAndGetThrottleTimeMs

      public int maybeRecordAndGetThrottleTimeMs(kafka.network.RequestChannel.Request request, long timeMs)
      Records that a user/clientId changed request processing time being throttled. If quota has been violated, return throttle time in milliseconds. Throttle time calculation may be overridden by sub-classes.
      Parameters:
      request - client request
      Returns:
      Number of milliseconds to throttle in case of quota violation. Zero otherwise
    • maybeRecordExempt

      public void maybeRecordExempt(kafka.network.RequestChannel.Request request)
    • throttleTime

      public long throttleTime(org.apache.kafka.common.metrics.QuotaViolationException e, long timeMs)
      Overrides:
      throttleTime in class kafka.server.ClientQuotaManager
    • clientQuotaMetricName

      public org.apache.kafka.common.MetricName clientQuotaMetricName(scala.collection.immutable.Map<String,String> quotaMetricTags)
      Overrides:
      clientQuotaMetricName in class kafka.server.ClientQuotaManager