Class BaseRedisMetricsDatastore<SUPPLIER,MSG extends QueueMessage>
java.lang.Object
com.slack.api.rate_limits.metrics.impl.BaseRedisMetricsDatastore<SUPPLIER,MSG>
- All Implemented Interfaces:
MetricsDatastore
,AutoCloseable
- Direct Known Subclasses:
RedisMetricsDatastore
,RedisMetricsDatastore
,RedisMetricsDatastore
public abstract class BaseRedisMetricsDatastore<SUPPLIER,MSG extends QueueMessage> extends Object implements MetricsDatastore, AutoCloseable
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
BaseRedisMetricsDatastore.MaintenanceJob
-
Field Summary
Fields inherited from interface com.slack.api.rate_limits.metrics.MetricsDatastore
DEFAULT_SINGLETON_EXECUTOR_NAME
-
Constructor Summary
Constructors Constructor Description BaseRedisMetricsDatastore(String appName, redis.clients.jedis.JedisPool jedisPool)
-
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.slack.api.rate_limits.metrics.MetricsDatastore
getNumberOfNodes, getStats
-
Constructor Details
-
Method Details
-
getRateLimitQueue
public abstract RateLimitQueue<SUPPLIER,MSG> getRateLimitQueue(String executorName, String teamId) -
jedis
public redis.clients.jedis.Jedis jedis() -
close
- Specified by:
close
in interfaceAutoCloseable
- Throws:
Exception
-
getThreadGroupName
-
getAllStats
- Specified by:
getAllStats
in interfaceMetricsDatastore
-
getStats
- Specified by:
getStats
in interfaceMetricsDatastore
-
incrementAllCompletedCalls
- Specified by:
incrementAllCompletedCalls
in interfaceMetricsDatastore
-
incrementSuccessfulCalls
- Specified by:
incrementSuccessfulCalls
in interfaceMetricsDatastore
-
incrementUnsuccessfulCalls
- Specified by:
incrementUnsuccessfulCalls
in interfaceMetricsDatastore
-
incrementFailedCalls
- Specified by:
incrementFailedCalls
in interfaceMetricsDatastore
-
updateCurrentQueueSize
- Specified by:
updateCurrentQueueSize
in interfaceMetricsDatastore
-
setCurrentQueueSize
public void setCurrentQueueSize(String executorName, String teamId, String methodName, Integer value)- Specified by:
setCurrentQueueSize
in interfaceMetricsDatastore
-
updateNumberOfLastMinuteRequests
public void updateNumberOfLastMinuteRequests(String executorName, String teamId, String methodName)- Specified by:
updateNumberOfLastMinuteRequests
in interfaceMetricsDatastore
-
getNumberOfLastMinuteRequests
public Integer getNumberOfLastMinuteRequests(String executorName, String teamId, String methodName)- Specified by:
getNumberOfLastMinuteRequests
in interfaceMetricsDatastore
-
setNumberOfLastMinuteRequests
public void setNumberOfLastMinuteRequests(String executorName, String teamId, String methodName, Integer value)- Specified by:
setNumberOfLastMinuteRequests
in interfaceMetricsDatastore
-
getRateLimitedMethodRetryEpochMillis
public Long getRateLimitedMethodRetryEpochMillis(String executorName, String teamId, String methodName)- Specified by:
getRateLimitedMethodRetryEpochMillis
in interfaceMetricsDatastore
-
setRateLimitedMethodRetryEpochMillis
public void setRateLimitedMethodRetryEpochMillis(String executorName, String teamId, String methodName, Long epochTimeMillis)- Specified by:
setRateLimitedMethodRetryEpochMillis
in interfaceMetricsDatastore
-
addToLastMinuteRequests
public void addToLastMinuteRequests(String executorName, String teamId, String methodName, Long currentMillis)- Specified by:
addToLastMinuteRequests
in interfaceMetricsDatastore
-
getLastMinuteRequests
public LastMinuteRequests getLastMinuteRequests(String executorName, String teamId, String methodName)- Specified by:
getLastMinuteRequests
in interfaceMetricsDatastore
-
addToWaitingMessageIds
public void addToWaitingMessageIds(String executorName, String teamId, String methodName, String messageId)- Specified by:
addToWaitingMessageIds
in interfaceMetricsDatastore
-
deleteFromWaitingMessageIds
public void deleteFromWaitingMessageIds(String executorName, String teamId, String methodName, String messageId)- Specified by:
deleteFromWaitingMessageIds
in interfaceMetricsDatastore
-