Interface BRSOverloadProtectionMXBean
- All Superinterfaces:
BRSStatMXBean
Interface exposes the attributes to configure the Threshold for BRS before BRS starts rejecting the submitted
requests.
-
Method Summary
Modifier and TypeMethodDescriptionint
Returns the current value of the percent threshold pending count.long
Returns the total number of requests that have been accepted by BRS for processing.long
Returns the total number of request event responses received by BRS.long
At this time, the total bulk customers with pending requests in processing (by the BRS thread pool)long
At this time, the max pending count for a customerAt this time, the customer has the max pending countlong
At this time, the total of BRS event requests sent to BRS thread poollong
At this time, the total of BRS events responses received by BRS thread poolboolean
Returns if the BRS instance is protected against any overload scenarios.int
Get the allowed heap usage threshold percentage for the pending usage requests based on throttling per customer mode.long
At this time, the total pending count for all customerslong
Returns the total number of requests that have been rejected by BRS.boolean
Returns if routing to be skippedint
Returns the number of Requests that are accepted by BRS but still pending in its queue to be submitted for processing.boolean
Throttle processing per customer or not for usage request(s).long
Returns the total number of requests that have been timeouted by BRS after retries.long
At this time, the total unique customers are in processing (by the BRS thread pool)void
setAcceptablePendingCount
(int acceptablePendingCount) Sets the percentage of the thread pool size before BRS starts rejecting the requests.void
setOverloadProtection
(boolean overloadProtection) To enable overload protection.void
setPendingRequestHeapUsageThresholdPercentage
(int pendingRequestHeapUsageThresholdPercentage) Get the allowed heap usage threshold percentage for the pending usage requests based on throttling per customer mode.void
setSkipActiveActivePreferredSiteRouting
(boolean skipActiveActivePreferredSiteRouting) To skip preferred Site routingvoid
setThrottleProcessingPerCustomer
(boolean throttleProcessingPerCustomer) Throttle processing per customer or not for usage request(s).Methods inherited from interface oracle.communication.brm.charging.brs.BRSStatMXBean
getBatchSize, getBatchTimeOut, getEnableNetworkExpiration, getHighPriorityBatchSize, getHighPriorityBatchTimeOut, getHighPriorityThreadPoolSize, getMonitoringStats, getReportingWindowSize, getResponseTimeout, getStats, getSystemHealth, getThreadPoolSize, getThresholdLatency, init, isSystemHealthy, sendDiagnosticCode, setBatchSize, setBatchTimeOut, setEnableNetworkExpiration, setHighPriorityBatchSize, setHighPriorityBatchTimeOut, setHighPriorityThreadPoolSize, setReportingWindowSize, setResponseTimeout, setThreadPoolSize, setThresholdLatency
-
Method Details
-
setOverloadProtection
void setOverloadProtection(boolean overloadProtection) To enable overload protection.- Parameters:
overloadProtection
- boolean
-
getOverloadProtection
boolean getOverloadProtection()Returns if the BRS instance is protected against any overload scenarios.- Returns:
- boolean true if brs is protected
-
setSkipActiveActivePreferredSiteRouting
void setSkipActiveActivePreferredSiteRouting(boolean skipActiveActivePreferredSiteRouting) To skip preferred Site routing- Parameters:
skipActiveActivePreferredSiteRouting
-
-
getSkipActiveActivePreferredSiteRouting
boolean getSkipActiveActivePreferredSiteRouting()Returns if routing to be skipped- Returns:
- boolean true if routing to be skipped
-
getThreadPendingCount
int getThreadPendingCount()Returns the number of Requests that are accepted by BRS but still pending in its queue to be submitted for processing.- Returns:
- int The number of Tasks waiting to be submitted for processing.
-
getRejectedTaskCount
long getRejectedTaskCount()Returns the total number of requests that have been rejected by BRS.- Returns:
- long The total rejected requests count since this instance of BRS was started.
-
getTimeoutCount
long getTimeoutCount()Returns the total number of requests that have been timeouted by BRS after retries.- Returns:
- long The total timeouted requests count after retries since this instance of BRS was started.
-
getAcceptedTaskCount
long getAcceptedTaskCount()Returns the total number of requests that have been accepted by BRS for processing. This number includes the requests that have been accepted but waiting to be send for processing.- Returns:
- long The total number of requests accepted since this instance of BRS was started.
-
getAcceptedTaskResponseCount
long getAcceptedTaskResponseCount()Returns the total number of request event responses received by BRS.- Returns:
- long The total number of request event responses.
-
setAcceptablePendingCount
void setAcceptablePendingCount(int acceptablePendingCount) Sets the percentage of the thread pool size before BRS starts rejecting the requests. The acceptable threshold is calculated as: (threadPoolSize * percentThresholdPendingCount)/100;- Parameters:
acceptablePendingCount
- int Number of tasks that can be acceptable pending at any given time
-
getAcceptablePendingCount
int getAcceptablePendingCount()Returns the current value of the percent threshold pending count.- Returns:
- int Returns the number of acceptable tasks that can be pending at a given time
-
getMaxPendingRequestsCustomer
String getMaxPendingRequestsCustomer()At this time, the customer has the max pending count- Returns:
-
getMaxPendingRequests
long getMaxPendingRequests()At this time, the max pending count for a customer- Returns:
- max pending count for a customer
-
getPendingRequests
long getPendingRequests()At this time, the total pending count for all customers- Returns:
- total pending count for all customers
-
getUniqueCustomersInProcessing
long getUniqueCustomersInProcessing()At this time, the total unique customers are in processing (by the BRS thread pool)- Returns:
- total unique customers are in processing (by the BRS thread pool)
-
getBulkCustomersInProcessing
long getBulkCustomersInProcessing()At this time, the total bulk customers with pending requests in processing (by the BRS thread pool)- Returns:
- total bulk customers are in processing (by the BRS thread pool)
-
getMessageReceiveCount
long getMessageReceiveCount()At this time, the total of BRS event requests sent to BRS thread pool- Returns:
- total of BRS event requests sent to BRS thread pool
-
getMessageSendCount
long getMessageSendCount()At this time, the total of BRS events responses received by BRS thread pool- Returns:
- total of BRS event requests received by BRS thread pool
-
setThrottleProcessingPerCustomer
void setThrottleProcessingPerCustomer(boolean throttleProcessingPerCustomer) Throttle processing per customer or not for usage request(s). When enabled by setting the parameter to true, for a given account/subscriber there is only 1 transaction processing can be submitted to ECE servers for processing at any time. And the following usage requests for the account/subscriber will be queued. Once the 1 on-going transaction response is received, the queued usage requests for the associated account/subscriber will be submitted to start a new transaction in a batch 50 or less. This continues to complete any queued usage requests. Default is true.- Parameters:
throttleProcessingPerCustomer
- true to throttle usage processing per customer, otherwise false
-
getThrottleProcessingPerCustomer
boolean getThrottleProcessingPerCustomer()Throttle processing per customer or not for usage request(s). When enabled by setting the parameter to true, for a given account/subscriber there is only 1 transaction processing can be submitted to ECE servers for processing at any time. And the following usage requests for the account/subscriber will be queued. Once the 1 on-going transaction response is received, the queued usage requests for the associated account/subscriber will be submitted to start a new transaction in a batch 50 or less. This continues to complete any queued usage requests. Default is true.- Returns:
- throttleProcessingPerCustomer true to throttle usage processing per customer, otherwise false
-
getPendingRequestHeapUsageThresholdPercentage
int getPendingRequestHeapUsageThresholdPercentage()Get the allowed heap usage threshold percentage for the pending usage requests based on throttling per customer mode. It should be an integer between 0 and 100 inclusively. If it is 0 or 100, then no threshold is defined and the pending usage requests can use heap memory to up available from the configured Java maximum heap size. If it is defined as non-0/non-100, for example 50, then it can use only up to the 50% of the configured Java maximum heap size. Upon crossing the 50% threshold, the ECE API will not accept any more usage requests. Default is 30, 30% of the configured Java maximum heap size.- Returns:
- allowed heap usage threshold percentage for the pending usage requests based on throttling per customer mode.
-
setPendingRequestHeapUsageThresholdPercentage
void setPendingRequestHeapUsageThresholdPercentage(int pendingRequestHeapUsageThresholdPercentage) Get the allowed heap usage threshold percentage for the pending usage requests based on throttling per customer mode. It should be an integer between 0 and 100 inclusively. If it is 0 or 100, then no threshold is defined and the pending usage requests can use heap memory to up available from the configured Java maximum heap size. If it is defined as non-0/non-100, for example 50, then it can use only up to the 50% of the configured Java maximum heap size. Upon crossing the 50% threshold, the ECE API will not accept any more usage requests. Default is 30, 30% of the configured Java maximum heap size.- Parameters:
pendingRequestHeapUsageThresholdPercentage
- heap usage threshold percentage for the pending usage requests based on throttling per customer mode.
-