Class BaseRedisMetricsDatastore<SUPPLIER,MSG extends QueueMessage>
java.lang.Object
com.slack.api.rate_limits.metrics.impl.BaseRedisMetricsDatastore<SUPPLIER,MSG>
- All Implemented Interfaces:
MetricsDatastore,java.lang.AutoCloseable
- Direct Known Subclasses:
RedisMetricsDatastore,RedisMetricsDatastore,RedisMetricsDatastore
public abstract class BaseRedisMetricsDatastore<SUPPLIER,MSG extends QueueMessage> extends java.lang.Object implements MetricsDatastore, java.lang.AutoCloseable
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classBaseRedisMetricsDatastore.MaintenanceJob -
Field Summary
Fields inherited from interface com.slack.api.rate_limits.metrics.MetricsDatastore
DEFAULT_SINGLETON_EXECUTOR_NAME -
Constructor Summary
Constructors Constructor Description BaseRedisMetricsDatastore(java.lang.String appName, redis.clients.jedis.JedisPool jedisPool) -
Method Summary
Modifier and Type Method Description voidaddToLastMinuteRequests(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName, java.lang.Long currentMillis)voidaddToWaitingMessageIds(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName, java.lang.String messageId)voidclose()voiddeleteFromWaitingMessageIds(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName, java.lang.String messageId)java.util.Map<java.lang.String,java.util.Map<java.lang.String,RequestStats>>getAllStats()LastMinuteRequestsgetLastMinuteRequests(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName)java.lang.IntegergetNumberOfLastMinuteRequests(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName)java.lang.LonggetRateLimitedMethodRetryEpochMillis(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName)abstract RateLimitQueue<SUPPLIER,MSG>getRateLimitQueue(java.lang.String executorName, java.lang.String teamId)RequestStatsgetStats(java.lang.String executorName, java.lang.String teamId)java.lang.StringgetThreadGroupName()voidincrementAllCompletedCalls(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName)voidincrementFailedCalls(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName)voidincrementSuccessfulCalls(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName)voidincrementUnsuccessfulCalls(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName)redis.clients.jedis.Jedisjedis()voidsetCurrentQueueSize(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName, java.lang.Integer value)voidsetNumberOfLastMinuteRequests(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName, java.lang.Integer value)voidsetRateLimitedMethodRetryEpochMillis(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName, java.lang.Long epochTimeMillis)voidupdateCurrentQueueSize(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName)voidupdateNumberOfLastMinuteRequests(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName)Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.slack.api.rate_limits.metrics.MetricsDatastore
getNumberOfNodes, getStats
-
Constructor Details
-
BaseRedisMetricsDatastore
public BaseRedisMetricsDatastore(java.lang.String appName, redis.clients.jedis.JedisPool jedisPool)
-
-
Method Details
-
getRateLimitQueue
public abstract RateLimitQueue<SUPPLIER,MSG> getRateLimitQueue(java.lang.String executorName, java.lang.String teamId) -
jedis
public redis.clients.jedis.Jedis jedis() -
close
public void close() throws java.lang.Exception- Specified by:
closein interfacejava.lang.AutoCloseable- Throws:
java.lang.Exception
-
getThreadGroupName
public java.lang.String getThreadGroupName() -
getAllStats
- Specified by:
getAllStatsin interfaceMetricsDatastore
-
getStats
- Specified by:
getStatsin interfaceMetricsDatastore
-
incrementAllCompletedCalls
public void incrementAllCompletedCalls(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName)- Specified by:
incrementAllCompletedCallsin interfaceMetricsDatastore
-
incrementSuccessfulCalls
public void incrementSuccessfulCalls(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName)- Specified by:
incrementSuccessfulCallsin interfaceMetricsDatastore
-
incrementUnsuccessfulCalls
public void incrementUnsuccessfulCalls(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName)- Specified by:
incrementUnsuccessfulCallsin interfaceMetricsDatastore
-
incrementFailedCalls
public void incrementFailedCalls(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName)- Specified by:
incrementFailedCallsin interfaceMetricsDatastore
-
updateCurrentQueueSize
public void updateCurrentQueueSize(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName)- Specified by:
updateCurrentQueueSizein interfaceMetricsDatastore
-
setCurrentQueueSize
public void setCurrentQueueSize(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName, java.lang.Integer value)- Specified by:
setCurrentQueueSizein interfaceMetricsDatastore
-
updateNumberOfLastMinuteRequests
public void updateNumberOfLastMinuteRequests(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName)- Specified by:
updateNumberOfLastMinuteRequestsin interfaceMetricsDatastore
-
getNumberOfLastMinuteRequests
public java.lang.Integer getNumberOfLastMinuteRequests(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName)- Specified by:
getNumberOfLastMinuteRequestsin interfaceMetricsDatastore
-
setNumberOfLastMinuteRequests
public void setNumberOfLastMinuteRequests(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName, java.lang.Integer value)- Specified by:
setNumberOfLastMinuteRequestsin interfaceMetricsDatastore
-
getRateLimitedMethodRetryEpochMillis
public java.lang.Long getRateLimitedMethodRetryEpochMillis(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName)- Specified by:
getRateLimitedMethodRetryEpochMillisin interfaceMetricsDatastore
-
setRateLimitedMethodRetryEpochMillis
public void setRateLimitedMethodRetryEpochMillis(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName, java.lang.Long epochTimeMillis)- Specified by:
setRateLimitedMethodRetryEpochMillisin interfaceMetricsDatastore
-
addToLastMinuteRequests
public void addToLastMinuteRequests(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName, java.lang.Long currentMillis)- Specified by:
addToLastMinuteRequestsin interfaceMetricsDatastore
-
getLastMinuteRequests
public LastMinuteRequests getLastMinuteRequests(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName)- Specified by:
getLastMinuteRequestsin interfaceMetricsDatastore
-
addToWaitingMessageIds
public void addToWaitingMessageIds(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName, java.lang.String messageId)- Specified by:
addToWaitingMessageIdsin interfaceMetricsDatastore
-
deleteFromWaitingMessageIds
public void deleteFromWaitingMessageIds(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName, java.lang.String messageId)- Specified by:
deleteFromWaitingMessageIdsin interfaceMetricsDatastore
-