Skip to content

Commit

Permalink
log execution time warning.
Browse files Browse the repository at this point in the history
  • Loading branch information
sonus21 committed Dec 3, 2020
1 parent 991d80d commit b66d2cf
Showing 1 changed file with 22 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -104,10 +104,12 @@ private void updateCounter(boolean fail) {
}
}

private long maxExecutionTime() {
return queueDetail.getVisibilityTimeout() - DELTA_BETWEEN_RE_ENQUEUE_TIME;
}

private long getMaxProcessingTime() {
return System.currentTimeMillis()
+ queueDetail.getVisibilityTimeout()
- DELTA_BETWEEN_RE_ENQUEUE_TIME;
return System.currentTimeMillis() + maxExecutionTime();
}

private boolean isMessageDeleted() {
Expand Down Expand Up @@ -167,6 +169,22 @@ private void updateToProcessing() {
messageMetadata, Duration.ofMinutes(rqueueConfig.getMessageDurabilityInMinute()));
}

private void logExecutionTimeWarning(
long maxProcessingTime, long startTime, ExecutionStatus status) {
if (System.currentTimeMillis() > maxProcessingTime) {
long maxAllowedTime = maxExecutionTime();
long executionTime = System.currentTimeMillis() - startTime;
log(
Level.WARN,
"Message listener is taking longer time [Queue: {}, TaskStatus: {}] MaxAllowedTime: {}, ExecutionTime: {}",
null,
queueDetail.getQueueName(),
status,
maxAllowedTime,
executionTime);
}
}

@Override
void start() {
int failureCount = rqueueMessage.getFailureCount();
Expand Down Expand Up @@ -206,6 +224,7 @@ void start() {
(status == null ? ExecutionStatus.FAILED : status),
failureCount,
startTime);
logExecutionTimeWarning(maxProcessingTime, startTime, status);
} finally {
semaphore.release();
}
Expand Down

0 comments on commit b66d2cf

Please sign in to comment.