Class AdaptiveThrottlerSignalService
java.lang.Object
com.linkedin.venice.service.AbstractVeniceService
com.linkedin.davinci.kafka.consumer.AdaptiveThrottlerSignalService
- All Implemented Interfaces:
Closeable,AutoCloseable
This class contains service to periodically refresh all the signals for throttlers and update all registered throttler
based on new signal values.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.linkedin.venice.service.AbstractVeniceService
AbstractVeniceService.ServiceState -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final longstatic final Stringstatic final Stringstatic final StringFields inherited from class com.linkedin.venice.service.AbstractVeniceService
logger, serviceState -
Constructor Summary
ConstructorsConstructorDescriptionAdaptiveThrottlerSignalService(VeniceServerConfig veniceServerConfig, io.tehuti.metrics.MetricsRepository metricsRepository, HeartbeatMonitoringService heartbeatMonitoringService) -
Method Summary
Modifier and TypeMethodDescriptionbooleanbooleanbooleanbooleanbooleanvoidvoidregisterThrottler(VeniceAdaptiveThrottler adaptiveIngestionThrottler) booleanvoid
-
Field Details
-
HEARTBEAT_LAG_LIMIT
public static final long HEARTBEAT_LAG_LIMIT -
SINGLE_GET_LATENCY_P99_METRIC_NAME
- See Also:
-
MULTI_GET_LATENCY_P99_METRIC_NAME
- See Also:
-
READ_COMPUTE_LATENCY_P99_METRIC_NAME
- See Also:
-
-
Constructor Details
-
AdaptiveThrottlerSignalService
public AdaptiveThrottlerSignalService(VeniceServerConfig veniceServerConfig, io.tehuti.metrics.MetricsRepository metricsRepository, HeartbeatMonitoringService heartbeatMonitoringService)
-
-
Method Details
-
registerThrottler
-
getAdaptiveThrottlingServiceStats
-
refreshSignalAndThrottler
public void refreshSignalAndThrottler() -
isReadLatencySignalActive
public boolean isReadLatencySignalActive() -
isCurrentLeaderMaxHeartbeatLagSignalActive
public boolean isCurrentLeaderMaxHeartbeatLagSignalActive() -
isCurrentFollowerMaxHeartbeatLagSignalActive
public boolean isCurrentFollowerMaxHeartbeatLagSignalActive() -
isNonCurrentLeaderMaxHeartbeatLagSignalActive
public boolean isNonCurrentLeaderMaxHeartbeatLagSignalActive() -
isNonCurrentFollowerMaxHeartbeatLagSignalActive
public boolean isNonCurrentFollowerMaxHeartbeatLagSignalActive() -
startInner
- Specified by:
startInnerin classAbstractVeniceService- Returns:
- true if the service is completely started,
false if it is still starting asynchronously (in this case, it is the implementer's
responsibility to set
AbstractVeniceService.serviceStatetoAbstractVeniceService.ServiceState.STARTEDupon completion of the async work). - Throws:
Exception
-
stopInner
- Specified by:
stopInnerin classAbstractVeniceService- Throws:
Exception
-