public class com.netflix.hystrix.metric.HystrixThreadEventStream
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.netflix.hystrix.metric.HystrixThreadEventStream
super_class: java.lang.Object
{
private final long threadId;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String threadName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final rx.subjects.Subject<com.netflix.hystrix.metric.HystrixCommandExecutionStarted, com.netflix.hystrix.metric.HystrixCommandExecutionStarted> writeOnlyCommandStartSubject;
descriptor: Lrx/subjects/Subject;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lrx/subjects/Subject<Lcom/netflix/hystrix/metric/HystrixCommandExecutionStarted;Lcom/netflix/hystrix/metric/HystrixCommandExecutionStarted;>;
private final rx.subjects.Subject<com.netflix.hystrix.metric.HystrixCommandCompletion, com.netflix.hystrix.metric.HystrixCommandCompletion> writeOnlyCommandCompletionSubject;
descriptor: Lrx/subjects/Subject;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lrx/subjects/Subject<Lcom/netflix/hystrix/metric/HystrixCommandCompletion;Lcom/netflix/hystrix/metric/HystrixCommandCompletion;>;
private final rx.subjects.Subject<com.netflix.hystrix.metric.HystrixCollapserEvent, com.netflix.hystrix.metric.HystrixCollapserEvent> writeOnlyCollapserSubject;
descriptor: Lrx/subjects/Subject;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lrx/subjects/Subject<Lcom/netflix/hystrix/metric/HystrixCollapserEvent;Lcom/netflix/hystrix/metric/HystrixCollapserEvent;>;
private static final java.lang.ThreadLocal<com.netflix.hystrix.metric.HystrixThreadEventStream> threadLocalStreams;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Lcom/netflix/hystrix/metric/HystrixThreadEventStream;>;
private static final rx.functions.Action1<com.netflix.hystrix.metric.HystrixCommandExecutionStarted> writeCommandStartsToShardedStreams;
descriptor: Lrx/functions/Action1;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lrx/functions/Action1<Lcom/netflix/hystrix/metric/HystrixCommandExecutionStarted;>;
private static final rx.functions.Action1<com.netflix.hystrix.metric.HystrixCommandCompletion> writeCommandCompletionsToShardedStreams;
descriptor: Lrx/functions/Action1;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lrx/functions/Action1<Lcom/netflix/hystrix/metric/HystrixCommandCompletion;>;
private static final rx.functions.Action1<com.netflix.hystrix.metric.HystrixCollapserEvent> writeCollapserExecutionsToShardedStreams;
descriptor: Lrx/functions/Action1;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lrx/functions/Action1<Lcom/netflix/hystrix/metric/HystrixCollapserEvent;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new com.netflix.hystrix.metric.HystrixThreadEventStream$1
dup
invokespecial com.netflix.hystrix.metric.HystrixThreadEventStream$1.<init>:()V
putstatic com.netflix.hystrix.metric.HystrixThreadEventStream.threadLocalStreams:Ljava/lang/ThreadLocal;
1: new com.netflix.hystrix.metric.HystrixThreadEventStream$2
dup
invokespecial com.netflix.hystrix.metric.HystrixThreadEventStream$2.<init>:()V
putstatic com.netflix.hystrix.metric.HystrixThreadEventStream.writeCommandStartsToShardedStreams:Lrx/functions/Action1;
2: new com.netflix.hystrix.metric.HystrixThreadEventStream$3
dup
invokespecial com.netflix.hystrix.metric.HystrixThreadEventStream$3.<init>:()V
putstatic com.netflix.hystrix.metric.HystrixThreadEventStream.writeCommandCompletionsToShardedStreams:Lrx/functions/Action1;
3: new com.netflix.hystrix.metric.HystrixThreadEventStream$4
dup
invokespecial com.netflix.hystrix.metric.HystrixThreadEventStream$4.<init>:()V
putstatic com.netflix.hystrix.metric.HystrixThreadEventStream.writeCollapserExecutionsToShardedStreams:Lrx/functions/Action1;
4: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.lang.Thread);
descriptor: (Ljava/lang/Thread;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
invokevirtual java.lang.Thread.getId:()J
putfield com.netflix.hystrix.metric.HystrixThreadEventStream.threadId:J
2: aload 0
aload 1
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
putfield com.netflix.hystrix.metric.HystrixThreadEventStream.threadName:Ljava/lang/String;
3: aload 0
invokestatic rx.subjects.PublishSubject.create:()Lrx/subjects/PublishSubject;
putfield com.netflix.hystrix.metric.HystrixThreadEventStream.writeOnlyCommandStartSubject:Lrx/subjects/Subject;
4: aload 0
invokestatic rx.subjects.PublishSubject.create:()Lrx/subjects/PublishSubject;
putfield com.netflix.hystrix.metric.HystrixThreadEventStream.writeOnlyCommandCompletionSubject:Lrx/subjects/Subject;
5: aload 0
invokestatic rx.subjects.PublishSubject.create:()Lrx/subjects/PublishSubject;
putfield com.netflix.hystrix.metric.HystrixThreadEventStream.writeOnlyCollapserSubject:Lrx/subjects/Subject;
6: aload 0
getfield com.netflix.hystrix.metric.HystrixThreadEventStream.writeOnlyCommandStartSubject:Lrx/subjects/Subject;
7: invokevirtual rx.subjects.Subject.onBackpressureBuffer:()Lrx/Observable;
8: getstatic com.netflix.hystrix.metric.HystrixThreadEventStream.writeCommandStartsToShardedStreams:Lrx/functions/Action1;
invokevirtual rx.Observable.doOnNext:(Lrx/functions/Action1;)Lrx/Observable;
9: invokestatic rx.observers.Subscribers.empty:()Lrx/Subscriber;
invokevirtual rx.Observable.unsafeSubscribe:(Lrx/Subscriber;)Lrx/Subscription;
pop
10: aload 0
getfield com.netflix.hystrix.metric.HystrixThreadEventStream.writeOnlyCommandCompletionSubject:Lrx/subjects/Subject;
11: invokevirtual rx.subjects.Subject.onBackpressureBuffer:()Lrx/Observable;
12: getstatic com.netflix.hystrix.metric.HystrixThreadEventStream.writeCommandCompletionsToShardedStreams:Lrx/functions/Action1;
invokevirtual rx.Observable.doOnNext:(Lrx/functions/Action1;)Lrx/Observable;
13: invokestatic rx.observers.Subscribers.empty:()Lrx/Subscriber;
invokevirtual rx.Observable.unsafeSubscribe:(Lrx/Subscriber;)Lrx/Subscription;
pop
14: aload 0
getfield com.netflix.hystrix.metric.HystrixThreadEventStream.writeOnlyCollapserSubject:Lrx/subjects/Subject;
15: invokevirtual rx.subjects.Subject.onBackpressureBuffer:()Lrx/Observable;
16: getstatic com.netflix.hystrix.metric.HystrixThreadEventStream.writeCollapserExecutionsToShardedStreams:Lrx/functions/Action1;
invokevirtual rx.Observable.doOnNext:(Lrx/functions/Action1;)Lrx/Observable;
17: invokestatic rx.observers.Subscribers.empty:()Lrx/Subscriber;
invokevirtual rx.Observable.unsafeSubscribe:(Lrx/Subscriber;)Lrx/Subscription;
pop
18: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/netflix/hystrix/metric/HystrixThreadEventStream;
0 19 1 thread Ljava/lang/Thread;
MethodParameters:
Name Flags
thread
public static com.netflix.hystrix.metric.HystrixThreadEventStream getInstance();
descriptor: ()Lcom/netflix/hystrix/metric/HystrixThreadEventStream;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.netflix.hystrix.metric.HystrixThreadEventStream.threadLocalStreams:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast com.netflix.hystrix.metric.HystrixThreadEventStream
areturn
LocalVariableTable:
Start End Slot Name Signature
public void shutdown();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.netflix.hystrix.metric.HystrixThreadEventStream.writeOnlyCommandStartSubject:Lrx/subjects/Subject;
invokevirtual rx.subjects.Subject.onCompleted:()V
1: aload 0
getfield com.netflix.hystrix.metric.HystrixThreadEventStream.writeOnlyCommandCompletionSubject:Lrx/subjects/Subject;
invokevirtual rx.subjects.Subject.onCompleted:()V
2: aload 0
getfield com.netflix.hystrix.metric.HystrixThreadEventStream.writeOnlyCollapserSubject:Lrx/subjects/Subject;
invokevirtual rx.subjects.Subject.onCompleted:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/netflix/hystrix/metric/HystrixThreadEventStream;
public void commandExecutionStarted(com.netflix.hystrix.HystrixCommandKey, com.netflix.hystrix.HystrixThreadPoolKey, com.netflix.hystrix.HystrixCommandProperties$ExecutionIsolationStrategy, int);
descriptor: (Lcom/netflix/hystrix/HystrixCommandKey;Lcom/netflix/hystrix/HystrixThreadPoolKey;Lcom/netflix/hystrix/HystrixCommandProperties$ExecutionIsolationStrategy;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new com.netflix.hystrix.metric.HystrixCommandExecutionStarted
dup
aload 1
aload 2
aload 3
iload 4
invokespecial com.netflix.hystrix.metric.HystrixCommandExecutionStarted.<init>:(Lcom/netflix/hystrix/HystrixCommandKey;Lcom/netflix/hystrix/HystrixThreadPoolKey;Lcom/netflix/hystrix/HystrixCommandProperties$ExecutionIsolationStrategy;I)V
astore 5
start local 5 1: aload 0
getfield com.netflix.hystrix.metric.HystrixThreadEventStream.writeOnlyCommandStartSubject:Lrx/subjects/Subject;
aload 5
invokevirtual rx.subjects.Subject.onNext:(Ljava/lang/Object;)V
2: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/netflix/hystrix/metric/HystrixThreadEventStream;
0 3 1 commandKey Lcom/netflix/hystrix/HystrixCommandKey;
0 3 2 threadPoolKey Lcom/netflix/hystrix/HystrixThreadPoolKey;
0 3 3 isolationStrategy Lcom/netflix/hystrix/HystrixCommandProperties$ExecutionIsolationStrategy;
0 3 4 currentConcurrency I
1 3 5 event Lcom/netflix/hystrix/metric/HystrixCommandExecutionStarted;
MethodParameters:
Name Flags
commandKey
threadPoolKey
isolationStrategy
currentConcurrency
public void executionDone(com.netflix.hystrix.ExecutionResult, com.netflix.hystrix.HystrixCommandKey, com.netflix.hystrix.HystrixThreadPoolKey);
descriptor: (Lcom/netflix/hystrix/ExecutionResult;Lcom/netflix/hystrix/HystrixCommandKey;Lcom/netflix/hystrix/HystrixThreadPoolKey;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
aload 3
invokestatic com.netflix.hystrix.metric.HystrixCommandCompletion.from:(Lcom/netflix/hystrix/ExecutionResult;Lcom/netflix/hystrix/HystrixCommandKey;Lcom/netflix/hystrix/HystrixThreadPoolKey;)Lcom/netflix/hystrix/metric/HystrixCommandCompletion;
astore 4
start local 4 1: aload 0
getfield com.netflix.hystrix.metric.HystrixThreadEventStream.writeOnlyCommandCompletionSubject:Lrx/subjects/Subject;
aload 4
invokevirtual rx.subjects.Subject.onNext:(Ljava/lang/Object;)V
2: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/netflix/hystrix/metric/HystrixThreadEventStream;
0 3 1 executionResult Lcom/netflix/hystrix/ExecutionResult;
0 3 2 commandKey Lcom/netflix/hystrix/HystrixCommandKey;
0 3 3 threadPoolKey Lcom/netflix/hystrix/HystrixThreadPoolKey;
1 3 4 event Lcom/netflix/hystrix/metric/HystrixCommandCompletion;
MethodParameters:
Name Flags
executionResult
commandKey
threadPoolKey
public void collapserResponseFromCache(com.netflix.hystrix.HystrixCollapserKey);
descriptor: (Lcom/netflix/hystrix/HystrixCollapserKey;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getstatic com.netflix.hystrix.HystrixEventType$Collapser.RESPONSE_FROM_CACHE:Lcom/netflix/hystrix/HystrixEventType$Collapser;
iconst_1
invokestatic com.netflix.hystrix.metric.HystrixCollapserEvent.from:(Lcom/netflix/hystrix/HystrixCollapserKey;Lcom/netflix/hystrix/HystrixEventType$Collapser;I)Lcom/netflix/hystrix/metric/HystrixCollapserEvent;
astore 2
start local 2 1: aload 0
getfield com.netflix.hystrix.metric.HystrixThreadEventStream.writeOnlyCollapserSubject:Lrx/subjects/Subject;
aload 2
invokevirtual rx.subjects.Subject.onNext:(Ljava/lang/Object;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/netflix/hystrix/metric/HystrixThreadEventStream;
0 3 1 collapserKey Lcom/netflix/hystrix/HystrixCollapserKey;
1 3 2 collapserEvent Lcom/netflix/hystrix/metric/HystrixCollapserEvent;
MethodParameters:
Name Flags
collapserKey
public void collapserBatchExecuted(com.netflix.hystrix.HystrixCollapserKey, int);
descriptor: (Lcom/netflix/hystrix/HystrixCollapserKey;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getstatic com.netflix.hystrix.HystrixEventType$Collapser.BATCH_EXECUTED:Lcom/netflix/hystrix/HystrixEventType$Collapser;
iconst_1
invokestatic com.netflix.hystrix.metric.HystrixCollapserEvent.from:(Lcom/netflix/hystrix/HystrixCollapserKey;Lcom/netflix/hystrix/HystrixEventType$Collapser;I)Lcom/netflix/hystrix/metric/HystrixCollapserEvent;
astore 3
start local 3 1: aload 1
getstatic com.netflix.hystrix.HystrixEventType$Collapser.ADDED_TO_BATCH:Lcom/netflix/hystrix/HystrixEventType$Collapser;
iload 2
invokestatic com.netflix.hystrix.metric.HystrixCollapserEvent.from:(Lcom/netflix/hystrix/HystrixCollapserKey;Lcom/netflix/hystrix/HystrixEventType$Collapser;I)Lcom/netflix/hystrix/metric/HystrixCollapserEvent;
astore 4
start local 4 2: aload 0
getfield com.netflix.hystrix.metric.HystrixThreadEventStream.writeOnlyCollapserSubject:Lrx/subjects/Subject;
aload 3
invokevirtual rx.subjects.Subject.onNext:(Ljava/lang/Object;)V
3: aload 0
getfield com.netflix.hystrix.metric.HystrixThreadEventStream.writeOnlyCollapserSubject:Lrx/subjects/Subject;
aload 4
invokevirtual rx.subjects.Subject.onNext:(Ljava/lang/Object;)V
4: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/netflix/hystrix/metric/HystrixThreadEventStream;
0 5 1 collapserKey Lcom/netflix/hystrix/HystrixCollapserKey;
0 5 2 batchSize I
1 5 3 batchExecution Lcom/netflix/hystrix/metric/HystrixCollapserEvent;
2 5 4 batchAdditions Lcom/netflix/hystrix/metric/HystrixCollapserEvent;
MethodParameters:
Name Flags
collapserKey
batchSize
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "HystrixThreadEventStream ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.netflix.hystrix.metric.HystrixThreadEventStream.threadId:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " - "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.netflix.hystrix.metric.HystrixThreadEventStream.threadName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/netflix/hystrix/metric/HystrixThreadEventStream;
}
SourceFile: "HystrixThreadEventStream.java"
NestMembers:
com.netflix.hystrix.metric.HystrixThreadEventStream$1 com.netflix.hystrix.metric.HystrixThreadEventStream$2 com.netflix.hystrix.metric.HystrixThreadEventStream$3 com.netflix.hystrix.metric.HystrixThreadEventStream$4
InnerClasses:
public final ExecutionIsolationStrategy = com.netflix.hystrix.HystrixCommandProperties$ExecutionIsolationStrategy of com.netflix.hystrix.HystrixCommandProperties
public final Collapser = com.netflix.hystrix.HystrixEventType$Collapser of com.netflix.hystrix.HystrixEventType
com.netflix.hystrix.metric.HystrixThreadEventStream$1
com.netflix.hystrix.metric.HystrixThreadEventStream$2
com.netflix.hystrix.metric.HystrixThreadEventStream$3
com.netflix.hystrix.metric.HystrixThreadEventStream$4