Class BaseMemoryMetricsDatastore<SUPPLIER,MSG extends QueueMessage>
java.lang.Object
com.slack.api.rate_limits.metrics.impl.BaseMemoryMetricsDatastore<SUPPLIER,MSG>
- All Implemented Interfaces:
MetricsDatastore
,AutoCloseable
- Direct Known Subclasses:
MemoryMetricsDatastore
,MemoryMetricsDatastore
,MemoryMetricsDatastore
public abstract class BaseMemoryMetricsDatastore<SUPPLIER,MSG extends QueueMessage> extends Object implements MetricsDatastore, AutoCloseable
-
Field Summary
Fields inherited from interface com.slack.api.rate_limits.metrics.MetricsDatastore
DEFAULT_SINGLETON_EXECUTOR_NAME
-
Constructor Summary
Constructors Constructor Description BaseMemoryMetricsDatastore(int numberOfNodes)
-
Method Summary
-
Constructor Details
-
BaseMemoryMetricsDatastore
public BaseMemoryMetricsDatastore(int numberOfNodes)
-
-
Method Details
-
close
- Specified by:
close
in interfaceAutoCloseable
- Throws:
Exception
-
getMetricsType
-
getThreadGroupName
-
getNumberOfNodes
public int getNumberOfNodes()- Specified by:
getNumberOfNodes
in interfaceMetricsDatastore
-
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
-
getRateLimitQueue
public abstract RateLimitQueue<SUPPLIER,MSG> getRateLimitQueue(String executorName, String teamId) -
updateCurrentQueueSize
- Specified by:
updateCurrentQueueSize
in interfaceMetricsDatastore
-
setCurrentQueueSize
public void setCurrentQueueSize(String executorName, String teamId, String methodName, Integer size)- Specified by:
setCurrentQueueSize
in interfaceMetricsDatastore
-
getNumberOfLastMinuteRequests
public Integer getNumberOfLastMinuteRequests(String executorName, String teamId, String methodName)- Specified by:
getNumberOfLastMinuteRequests
in interfaceMetricsDatastore
-
updateNumberOfLastMinuteRequests
public void updateNumberOfLastMinuteRequests(String executorName, String teamId, String methodName)- Specified by:
updateNumberOfLastMinuteRequests
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
-