
com.groupbyinc.flux.common.breaker.MemoryCircuitBreaker.class Maven / Gradle / Ivy
???? 3 ? 7com/groupbyinc/flux/common/breaker/MemoryCircuitBreaker java/lang/Object 1com/groupbyinc/flux/common/breaker/CircuitBreaker MemoryCircuitBreaker.java memoryBytesLimit J overheadConstant D used (Ljava/util/concurrent/atomic/AtomicLong; trippedCount logger -Lcom/groupbyinc/flux/common/logging/ESLogger; $assertionsDisabled Z `(Lcom/groupbyinc/flux/common/unit/ByteSizeValue;DLcom/groupbyinc/flux/common/logging/ESLogger;)V ?(Lcom/groupbyinc/flux/common/unit/ByteSizeValue;DLcom/groupbyinc/flux/common/breaker/MemoryCircuitBreaker;Lcom/groupbyinc/flux/common/logging/ESLogger;)V
this 9Lcom/groupbyinc/flux/common/breaker/MemoryCircuitBreaker; limit /Lcom/groupbyinc/flux/common/unit/ByteSizeValue; ()V
-com/groupbyinc/flux/common/unit/ByteSizeValue bytes ()J ! "
# %
' &java/util/concurrent/atomic/AtomicLong ) (J)V +
* ,
.
0 +com/groupbyinc/flux/common/logging/ESLogger 2 4 isTraceEnabled ()Z 6 7 3 8 YCreating MemoryCircuitBreaker with a limit of {} bytes ({}) and a overhead constant of {} : java/lang/Long < valueOf (J)Ljava/lang/Long; > ?
= @ java/lang/Double B (D)Ljava/lang/Double; > D
C E trace ((Ljava/lang/String;[Ljava/lang/Object;)V G H 3 I
oldBreaker circuitBreak (Ljava/lang/String;J)V ;com/groupbyinc/flux/common/breaker/CircuitBreakingException N incrementAndGet P "
* Q java/lang/StringBuilder S
T Data too large, data for field [ V append -(Ljava/lang/String;)Ljava/lang/StringBuilder; X Y
T Z !] would be larger than limit of [ \ (J)Ljava/lang/StringBuilder; X ^
T _ / a
, -(Ljava/lang/Object;)Ljava/lang/StringBuilder; X d
T e ] g toString ()Ljava/lang/String; i j
T k debug m H 3 n (Ljava/lang/String;)V p
O q fieldName Ljava/lang/String; bytesNeeded message addEstimateBytesAndMaybeBreak (JLjava/lang/String;)D L M
y???????? addAndGet (J)J } ~
*