Class ClientRequestQuotaManager
java.lang.Object
org.apache.kafka.server.quota.ClientQuotaManager
kafka.server.ClientRequestQuotaManager
public class ClientRequestQuotaManager
extends org.apache.kafka.server.quota.ClientQuotaManager
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.kafka.server.quota.ClientQuotaManager
org.apache.kafka.server.quota.ClientQuotaManager.ClientIdEntity, org.apache.kafka.server.quota.ClientQuotaManager.KafkaQuotaEntity, org.apache.kafka.server.quota.ClientQuotaManager.ThrottledChannelReaper, org.apache.kafka.server.quota.ClientQuotaManager.UserEntity -
Field Summary
Fields inherited from class org.apache.kafka.server.quota.ClientQuotaManager
CLIENT_ID_QUOTA_ENABLED, CLIENT_ID_TAG, CUSTOM_QUOTAS, DEFAULT_USER_CLIENT_ID, DEFAULT_USER_ENTITY, NO_QUOTAS, USER_CLIENT_ID_QUOTA_ENABLED, USER_QUOTA_ENABLED, USER_TAG -
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.common.internals.Plugin<org.apache.kafka.server.quota.ClientQuotaCallback>> quotaCallbackPlugin) -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.kafka.common.MetricNameclientQuotaMetricName(Map<String, String> quotaMetricTags) org.apache.kafka.common.metrics.SensorintmaybeRecordAndGetThrottleTimeMs(kafka.network.RequestChannel.Request request, long timeMs) Records that a user/clientId changed request processing time being throttled.voidmaybeRecordExempt(kafka.network.RequestChannel.Request request) longthrottleTime(org.apache.kafka.common.metrics.QuotaViolationException e, long timeMs) Methods inherited from class org.apache.kafka.server.quota.ClientQuotaManager
getOrCreateQuotaSensors, initiateShutdown, maxValueInQuotaWindow, maybeRecordAndGetThrottleTimeMs, processThrottledChannelReaperDoWork, quota, quota, quotasEnabled, quotaTypesEnabled, recordAndGetThrottleTimeMs, recordNoThrottle, shutdown, throttle, unrecordQuotaSensor, updateQuota, updateQuotaMetricConfigs, updateQuotaMetricConfigs
-
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.common.internals.Plugin<org.apache.kafka.server.quota.ClientQuotaCallback>> quotaCallbackPlugin)
-
-
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 the quota has been violated, return throttle time in milliseconds. Subclasses may override throttle time calculation.- 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) -
clientQuotaMetricName
-