io.netty.util.ResourceLeakDetector.class Maven / Gradle / Ivy
???? 2? "io/netty/util/ResourceLeakDetector (Ljava/lang/Object; java/lang/Object ResourceLeakDetector.java ,io/netty/util/ResourceLeakDetector$LeakEntry LeakEntry 6io/netty/util/ResourceLeakDetector$DefaultResourceLeak
DefaultResourceLeak (io/netty/util/ResourceLeakDetector$Level
Level PROP_LEVEL_OLD Ljava/lang/String; io.netty.leakDetectionLevel
PROP_LEVEL io.netty.leakDetection.level
DEFAULT_LEVEL *Lio/netty/util/ResourceLeakDetector$Level; PROP_MAX_RECORDS !io.netty.leakDetection.maxRecords DEFAULT_MAX_RECORDS I MAX_RECORDS level logger /Lio/netty/util/internal/logging/InternalLogger; DEFAULT_SAMPLING_INTERVAL ? allLeaks $Ljava/util/concurrent/ConcurrentMap; ?Ljava/util/concurrent/ConcurrentMap.DefaultResourceLeak;Lio/netty/util/ResourceLeakDetector$LeakEntry;>; refQueue Ljava/lang/ref/ReferenceQueue; 2Ljava/lang/ref/ReferenceQueue;
reportedLeaks KLjava/util/concurrent/ConcurrentMap; resourceType samplingInterval STACK_TRACE_ELEMENT_EXCLUSIONS [Ljava/lang/String;
setEnabled (Z)V Ljava/lang/Deprecated; SIMPLE 4 5 DISABLED 7 8 setLevel -(Lio/netty/util/ResourceLeakDetector$Level;)V : ;
< enabled Z isEnabled ()Z getLevel ,()Lio/netty/util/ResourceLeakDetector$Level; B C
D ordinal ()I F G
H java/lang/NullPointerException J (Ljava/lang/String;)V M N
K O Q (Ljava/lang/Class;)V !io/netty/util/internal/StringUtil T simpleClassName %(Ljava/lang/Class;)Ljava/lang/String; V W
U X
O this )Lio/netty/util/ResourceLeakDetector; $Lio/netty/util/ResourceLeakDetector; Ljava/lang/Class<*>; Ljava/lang/Class;??????? (Ljava/lang/String;IJ)V M b
c (Ljava/lang/Class;IJ)V (Ljava/lang/Class;I)V M f
g maxActive J ()V M k
l (io/netty/util/internal/PlatformDependent n newConcurrentHashMap &()Ljava/util/concurrent/ConcurrentMap; p q
o r % & t java/lang/ref/ReferenceQueue v
w l ( ) y + & { - java/lang/String ~ - ? . ? open 0(Ljava/lang/Object;)Lio/netty/util/ResourceLeak; track0 L(Ljava/lang/Object;)Lio/netty/util/ResourceLeakDetector$DefaultResourceLeak; ? ?
? obj TT; Ljava/lang/Object; track 7(Ljava/lang/Object;)Lio/netty/util/ResourceLeakTracker; PARANOID ? ? threadLocalRandom ()Ljava/util/Random; ? ?
o ? java/util/Random ? nextInt (I)I ? ?
? ?
reportLeak ? ;
? 9(Lio/netty/util/ResourceLeakDetector;Ljava/lang/Object;)V M ?
? ! " ? -io/netty/util/internal/logging/InternalLogger ? isErrorEnabled ? A ? ? poll ()Ljava/lang/ref/Reference; ? ?
w ? close ? A
? clear ? k
? toString ()Ljava/lang/String; ? ?
? java/lang/Boolean ? TRUE Ljava/lang/Boolean; ? ? ? ? "java/util/concurrent/ConcurrentMap ? putIfAbsent 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; ? ? ? ? isEmpty ? A
? reportUntracedLeak ? N
? reportTracedLeak '(Ljava/lang/String;Ljava/lang/String;)V ? ?
? ref =Lio/netty/util/ResourceLeakDetector.DefaultResourceLeak; 8Lio/netty/util/ResourceLeakDetector$DefaultResourceLeak; records ?LEAK: {}.release() was not called before it's garbage-collected. See http://netty.io/wiki/reference-counted-objects.html for more information.{} ? error 9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V ? ? ? ?,LEAK: {}.release() was not called before it's garbage-collected. Enable advanced leak reporting to find out where the leak occurred. To enable advanced leak reporting, specify the JVM option '-D{}={}' or call {}.setLevel() See http://netty.io/wiki/reference-counted-objects.html for more information. ? ADVANCED ? ? name ? ?
? toLowerCase ? ?
? &(Ljava/lang/Object;)Ljava/lang/String; V ?
U ? ((Ljava/lang/String;[Ljava/lang/Object;)V ? ? ? ? reportInstancesLeak newRecord '(Ljava/lang/Object;I)Ljava/lang/String; java/lang/StringBuilder ? (I)V M ?
? ? Hint: ? append -(Ljava/lang/String;)Ljava/lang/StringBuilder; ? ?
? ? io/netty/util/ResourceLeakHint ? toHintString ? ? ? ? -(Ljava/lang/Object;)Ljava/lang/StringBuilder; ? ?
? ? NEWLINE ? U ? java/lang/Throwable
l
getStackTrace ()[Ljava/lang/StackTraceElement;
[Ljava/lang/StackTraceElement; java/lang/StackTraceElement
? / 0
0
startsWith (Ljava/lang/String;)Z
(C)Ljava/lang/StringBuilder; ?
?
? ? exclusion estr excluded e Ljava/lang/StackTraceElement; hint
recordsToSkip buf Ljava/lang/StringBuilder; array
access$000 #
access$100 D(Lio/netty/util/ResourceLeakDetector;)Ljava/lang/ref/ReferenceQueue; x0
access$200 J(Lio/netty/util/ResourceLeakDetector;)Ljava/util/concurrent/ConcurrentMap;
access$300 + 4io/netty/util/internal/logging/InternalLoggerFactory. getInstance B(Ljava/lang/Class;)Lio/netty/util/internal/logging/InternalLogger;01
/2 io.netty.noResourceLeakDetection4 )io/netty/util/internal/SystemPropertyUtil6 get &(Ljava/lang/String;)Ljava/lang/String;89
7:
getBoolean (Ljava/lang/String;Z)Z<=
7> &-Dio.netty.noResourceLeakDetection: {}@ valueOf (Z)Ljava/lang/Boolean;BC
?D debug '(Ljava/lang/String;Ljava/lang/Object;)VFG ?H H-Dio.netty.noResourceLeakDetection is deprecated. Use '-D{}={}' instead.J warnL ? ?M 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;8O
7P
parseLevel >(Ljava/lang/String;)Lio/netty/util/ResourceLeakDetector$Level;RS
T getInt (Ljava/lang/String;I)IVW
7X isDebugEnabledZ A ?[ -D{}: {}]F ? ?_ java/lang/Integera (I)Ljava/lang/Integer;Bc
bd 'io.netty.util.ReferenceCountUtil.touch(f /io.netty.buffer.AdvancedLeakAwareByteBuf.touch(h ;io.netty.buffer.AbstractByteBufAllocator.toLeakAwareBuffer(j Kio.netty.buffer.AdvancedLeakAwareByteBuf.recordLeakNonRefCountingOperation(l disabled defaultLevel levelStr
ConstantValue Signature Code LocalVariableTable LineNumberTable
StackMapTable
Deprecated RuntimeVisibleAnnotations LocalVariableTypeTable (Ljava/lang/Class<*>;)V (Ljava/lang/Class<*>;IJ)V (Ljava/lang/Class<*>;I)V !(TT;)Lio/netty/util/ResourceLeak; -(TT;)Lio/netty/util/ResourceLeakTracker; B(TT;)Lio/netty/util/ResourceLeakDetector.DefaultResourceLeak;
SourceFile InnerClasses ! q q q q
! " # q $ % &