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
ConstructorsConstructorDescriptionClientRequestQuotaManager
(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 TypeMethodDescriptionorg.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
-
Constructor Details
-
ClientRequestQuotaManager
-
-
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 classkafka.server.ClientQuotaManager
-
clientQuotaMetricName
public org.apache.kafka.common.MetricName clientQuotaMetricName(scala.collection.immutable.Map<String, String> quotaMetricTags) - Overrides:
clientQuotaMetricName
in classkafka.server.ClientQuotaManager
-