/** When a {@link HystrixObservableCommand} emits a value during fallback */ /* package */ void markFallbackEmit() { eventNotifier.markEvent(HystrixEventType.FALLBACK_EMIT, getCommandKey()); counter.increment(HystrixRollingNumberEvent.FALLBACK_EMIT); }
/** * When a command is fronted by an {@link HystrixCollapser} then this marks how many requests are * collapsed into the single command execution. * * @param numRequestsCollapsedToBatch number of requests which got batched */ /* package */ void markCollapsed(int numRequestsCollapsedToBatch) { eventNotifier.markEvent(HystrixEventType.COLLAPSED, key); counter.add(HystrixRollingNumberEvent.COLLAPSED, numRequestsCollapsedToBatch); }
/** * When a response is coming from a cache. * * <p>The cache-hit ratio can be determined by dividing this number by the total calls. */ /* package */ void markResponseFromCache() { eventNotifier.markEvent(HystrixEventType.RESPONSE_FROM_CACHE, key); counter.increment(HystrixRollingNumberEvent.RESPONSE_FROM_CACHE); }
/** * When a {@link HystrixCommand} attempts to retrieve a fallback but it is rejected due to too * many concurrent executing fallback requests. */ /* package */ void markFallbackRejection() { eventNotifier.markEvent(HystrixEventType.FALLBACK_REJECTION, key); counter.increment(HystrixRollingNumberEvent.FALLBACK_REJECTION); }
/** * When a {@link HystrixCommand} throws an exception (this will occur every time {@link * #markFallbackFailure} occurs, whenever {@link #markFailure} occurs without a fallback * implemented, or whenever a {@link #markBadRequest(long)} occurs) */ /* package */ void markExceptionThrown() { eventNotifier.markEvent(HystrixEventType.EXCEPTION_THROWN, key); counter.increment(HystrixRollingNumberEvent.EXCEPTION_THROWN); }
/** When a {@link HystrixCommand} returns a Fallback successfully. */ /* package */ void markFallbackSuccess() { eventNotifier.markEvent(HystrixEventType.FALLBACK_SUCCESS, key); counter.increment(HystrixRollingNumberEvent.FALLBACK_SUCCESS); }
/** When a {@link HystrixCommand} attempts to retrieve a fallback but fails. */ /* package */ void markFallbackFailure() { eventNotifier.markEvent(HystrixEventType.FALLBACK_FAILURE, key); counter.increment(HystrixRollingNumberEvent.FALLBACK_FAILURE); }
/** * When a {@link HystrixCommand} is unable to execute due to reaching the semaphore limit it will * call this method to report its occurrence. */ /* package */ void markSemaphoreRejection() { eventNotifier.markEvent(HystrixEventType.SEMAPHORE_REJECTED, key); counter.increment(HystrixRollingNumberEvent.SEMAPHORE_REJECTED); }
/** * When a {@link HystrixCommand} is executed and triggers a {@link HystrixBadRequestException} * during its execution */ /* package */ void markBadRequest(long duration) { eventNotifier.markEvent(HystrixEventType.BAD_REQUEST, key); counter.increment(HystrixRollingNumberEvent.BAD_REQUEST); }
/** * When a {@link HystrixCommand} is unable to queue up (threadpool rejection) it will call this * method to report its occurrence. */ /* package */ void markThreadPoolRejection() { eventNotifier.markEvent(HystrixEventType.THREAD_POOL_REJECTED, key); counter.increment(HystrixRollingNumberEvent.THREAD_POOL_REJECTED); }
/** * When a {@link HystrixCommand} performs a short-circuited fallback it will call this method to * report its occurrence. */ /* package */ void markShortCircuited() { eventNotifier.markEvent(HystrixEventType.SHORT_CIRCUITED, key); counter.increment(HystrixRollingNumberEvent.SHORT_CIRCUITED); }
/** * When a {@link HystrixCommand} times out (fails to complete) it will call this method to report * its failure along with how long the command waited (this time should equal or be very close to * the timeout value). * * @param duration command duration */ /* package */ void markTimeout(long duration) { eventNotifier.markEvent(HystrixEventType.TIMEOUT, key); counter.increment(HystrixRollingNumberEvent.TIMEOUT); }
/** * When a {@link HystrixCommand} fails to complete it will call this method to report its failure * along with how long the execution took. * * @param duration command duration */ /* package */ void markFailure(long duration) { eventNotifier.markEvent(HystrixEventType.FAILURE, key); counter.increment(HystrixRollingNumberEvent.FAILURE); }
/** * When a {@link HystrixCommand} successfully completes it will call this method to report its * success along with how long the execution took. * * @param duration command duration */ /* package */ void markSuccess(long duration) { eventNotifier.markEvent(HystrixEventType.SUCCESS, key); counter.increment(HystrixRollingNumberEvent.SUCCESS); }