Class BaseMemoryMetricsDatastore<SUPPLIER,MSG extends QueueMessage>
java.lang.Object
com.slack.api.rate_limits.metrics.impl.BaseMemoryMetricsDatastore<SUPPLIER,MSG>
- All Implemented Interfaces:
MetricsDatastore,java.lang.AutoCloseable
- Direct Known Subclasses:
MemoryMetricsDatastore,MemoryMetricsDatastore,MemoryMetricsDatastore
public abstract class BaseMemoryMetricsDatastore<SUPPLIER,MSG extends QueueMessage> extends java.lang.Object implements MetricsDatastore, java.lang.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
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)protected abstract java.lang.StringgetMetricsType()java.lang.IntegergetNumberOfLastMinuteRequests(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName)intgetNumberOfNodes()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)voidsetCurrentQueueSize(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName, java.lang.Integer size)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)
-
Constructor Details
-
BaseMemoryMetricsDatastore
public BaseMemoryMetricsDatastore(int numberOfNodes)
-
-
Method Details
-
close
public void close() throws java.lang.Exception- Specified by:
closein interfacejava.lang.AutoCloseable- Throws:
java.lang.Exception
-
getMetricsType
protected abstract java.lang.String getMetricsType() -
getThreadGroupName
public java.lang.String getThreadGroupName() -
getNumberOfNodes
public int getNumberOfNodes()- Specified by:
getNumberOfNodesin interfaceMetricsDatastore
-
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
-
getRateLimitQueue
public abstract RateLimitQueue<SUPPLIER,MSG> getRateLimitQueue(java.lang.String executorName, java.lang.String teamId) -
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 size)- Specified by:
setCurrentQueueSizein interfaceMetricsDatastore
-
getNumberOfLastMinuteRequests
public java.lang.Integer getNumberOfLastMinuteRequests(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName)- Specified by:
getNumberOfLastMinuteRequestsin interfaceMetricsDatastore
-
updateNumberOfLastMinuteRequests
public void updateNumberOfLastMinuteRequests(java.lang.String executorName, java.lang.String teamId, java.lang.String methodName)- Specified by:
updateNumberOfLastMinuteRequestsin 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
-