Skip to content

Commit

Permalink
[pinpoint-apm#8642] Polishing
Browse files Browse the repository at this point in the history
  • Loading branch information
emeroad committed Feb 18, 2022
1 parent d09bd8a commit 3f281c4
Show file tree
Hide file tree
Showing 20 changed files with 220 additions and 70 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -269,12 +269,12 @@ private SpanEvent newSpanEvent(int stackId) {

@VisibleForTesting
SpanEvent dummySpanEvent() {
return callStack.getFactory().dummyInstance();
return callStack.getFactory().disableInstance();
}

@VisibleForTesting
boolean isDummySpanEvent(final SpanEvent spanEvent) {
return callStack.getFactory().isDummy(spanEvent);
return callStack.getFactory().isDisable(spanEvent);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ public interface AsyncTraceContext {

// Reference<Trace> continueAsyncTraceObject(TraceRoot traceRoot, int asyncId, short asyncSequence);

Reference<Trace> continueAsyncTraceObject(TraceRoot traceRoot, LocalAsyncId localAsyncId, boolean canSampled);
Reference<Trace> continueAsyncContextTraceObject(TraceRoot traceRoot, LocalAsyncId localAsyncId, boolean canSampled);

Trace newAsyncTraceObject(TraceRoot traceRoot, LocalAsyncId localAsyncId, boolean canSampled);
Trace newAsyncContextTraceObject(TraceRoot traceRoot, LocalAsyncId localAsyncId, boolean canSampled);

Reference<Trace> currentRawTraceObject();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public interface BaseTraceFactory {
@InterfaceAudience.LimitedPrivate("vert.x")
Trace continueAsyncTraceObject(TraceId traceId);

Trace continueAsyncTraceObject(TraceRoot traceRoot, LocalAsyncId localAsyncId, boolean canSampled);
Trace continueAsyncContextTraceObject(TraceRoot traceRoot, LocalAsyncId localAsyncId, boolean canSampled);

Trace newTraceObject();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,9 @@ interface Factory<T> {

T newInstance();

T dummyInstance();
T disableInstance();

boolean isDummy(T element);
boolean isDisable(T element);

void markDepth(T element, int index);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,14 +73,14 @@ public Trace continueAsyncTraceObject() {
return null;
}

return newAsyncTrace(reference);
return newAsyncContextTrace(reference);
}

private Trace newAsyncTrace(Reference<Trace> reference) {
private Trace newAsyncContextTrace(Reference<Trace> reference) {
// final int asyncId = this.asyncId.getAsyncId();
// final short asyncSequence = this.asyncId.nextAsyncSequence();
final LocalAsyncId localAsyncId = this.asyncId.nextLocalAsyncId();
final Trace asyncTrace = asyncTraceContext.newAsyncTraceObject(traceRoot, localAsyncId, canSampled);
final Trace asyncTrace = asyncTraceContext.newAsyncContextTraceObject(traceRoot, localAsyncId, canSampled);


bind(reference, asyncTrace);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,27 +43,25 @@ public DefaultAsyncTraceContext(Provider<BaseTraceFactory> baseTraceFactoryProvi
}

@Override
public Reference<Trace> continueAsyncTraceObject(TraceRoot traceRoot, LocalAsyncId localAsyncId, boolean canSampled) {
public Reference<Trace> continueAsyncContextTraceObject(TraceRoot traceRoot, LocalAsyncId localAsyncId, boolean canSampled) {
final Reference<Trace> reference = checkAndGet();

final BaseTraceFactory baseTraceFactory = baseTraceFactoryProvider.get();
final Trace trace = baseTraceFactory.continueAsyncTraceObject(traceRoot, localAsyncId, canSampled);
final Trace trace = newAsyncContextTraceObject(traceRoot, localAsyncId, canSampled);

bind(reference, trace);
return reference;
}

@Override
public Trace newAsyncTraceObject(TraceRoot traceRoot, LocalAsyncId localAsyncId, boolean canSampled) {
public Trace newAsyncContextTraceObject(TraceRoot traceRoot, LocalAsyncId localAsyncId, boolean canSampled) {
final BaseTraceFactory baseTraceFactory = baseTraceFactoryProvider.get();
return baseTraceFactory.continueAsyncTraceObject(traceRoot, localAsyncId, canSampled);
return baseTraceFactory.continueAsyncContextTraceObject(traceRoot, localAsyncId, canSampled);
}


@Override
public Reference<Trace> currentRawTraceObject() {
final Reference<Trace> reference = binder.get();
return reference;
return binder.get();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ public Trace newTraceObject() {

// internal async trace.
@Override
public Trace continueAsyncTraceObject(TraceRoot traceRoot, LocalAsyncId localAsyncId, boolean canSampled) {
public Trace continueAsyncContextTraceObject(TraceRoot traceRoot, LocalAsyncId localAsyncId, boolean canSampled) {
if (canSampled) {
final SpanChunkFactory spanChunkFactory = new AsyncSpanChunkFactory(traceRoot, localAsyncId);
final Storage storage = storageFactory.createStorage(spanChunkFactory);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ private void checkExtend(final int size) {
public T pop() {
if (isOverflow() && overflowIndex > 0) {
overflowIndex--;
return factory.dummyInstance();
return factory.disableInstance();
}

final T spanEvent = peek();
Expand All @@ -123,7 +123,7 @@ public T peek() {
}

if (isOverflow() && overflowIndex > 0) {
return factory.dummyInstance();
return factory.disableInstance();
}
return stack[index - 1];
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -281,12 +281,12 @@ private SpanEvent newSpanEvent(int stackId) {

@VisibleForTesting
SpanEvent dummySpanEvent() {
return callStack.getFactory().dummyInstance();
return callStack.getFactory().disableInstance();
}

@VisibleForTesting
boolean isDummySpanEvent(final SpanEvent spanEvent) {
return callStack.getFactory().isDummy(spanEvent);
return callStack.getFactory().isDisable(spanEvent);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.navercorp.pinpoint.profiler.context;

public class DisableSpanEvent extends SpanEvent {
@Override
public String toString() {
return "DisableSpanEvent";
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
package com.navercorp.pinpoint.profiler.context;

import com.navercorp.pinpoint.bootstrap.context.AsyncContext;
import com.navercorp.pinpoint.bootstrap.context.MethodDescriptor;
import com.navercorp.pinpoint.bootstrap.context.ParsingResult;
import com.navercorp.pinpoint.bootstrap.context.SpanEventRecorder;
import com.navercorp.pinpoint.common.trace.AnnotationKey;
import com.navercorp.pinpoint.common.trace.ServiceType;
import com.navercorp.pinpoint.common.util.DataType;

public class DisableSpanEventRecorder extends DefaultFrameAttachment implements SpanEventRecorder {

private Object frameObject;

@Override
public void recordAttribute(AnnotationKey key, String value) {

}

@Override
public void recordAttribute(AnnotationKey key, int value) {

}

@Override
public void recordAttribute(AnnotationKey key, Integer value) {

}

@Override
public void recordAttribute(AnnotationKey key, long value) {

}

@Override
public void recordAttribute(AnnotationKey key, Long value) {

}

@Override
public void recordAttribute(AnnotationKey key, boolean value) {

}

@Override
public void recordAttribute(AnnotationKey key, double value) {

}

@Override
public void recordAttribute(AnnotationKey key, byte[] value) {

}

@Override
public void recordAttribute(AnnotationKey key, DataType value) {

}

@Override
public void recordAttribute(AnnotationKey key, Object value) {

}

@Override
public void recordTime(boolean time) {

}

@Override
public void recordException(Throwable throwable) {

}

@Override
public void recordException(boolean markError, Throwable throwable) {

}

@Override
public void recordApiId(int apiId) {

}

@Override
public void recordApi(MethodDescriptor methodDescriptor) {

}

@Override
public void recordApi(MethodDescriptor methodDescriptor, Object[] args) {

}

@Override
public void recordApi(MethodDescriptor methodDescriptor, Object args, int index) {

}

@Override
public void recordApi(MethodDescriptor methodDescriptor, Object[] args, int start, int end) {

}

@Override
public void recordApiCachedString(MethodDescriptor methodDescriptor, String args, int index) {

}

@Override
public ParsingResult recordSqlInfo(String sql) {
return null;
}

@Override
public void recordSqlParsingResult(ParsingResult parsingResult) {

}

@Override
public void recordSqlParsingResult(ParsingResult parsingResult, String bindValue) {

}

@Override
public void recordServiceType(ServiceType serviceType) {

}

@Override
public void recordDestinationId(String destinationId) {

}

@Override
public void recordEndPoint(String endPoint) {

}

@Override
public void recordNextSpanId(long spanId) {

}

@Override
public AsyncContext recordNextAsyncContext() {
return null;
}

@Override
public AsyncContext recordNextAsyncContext(boolean stateful) {
return null;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -72,12 +72,12 @@ public Trace continueAsyncTraceObject(TraceId traceId) {
}

@Override
public Trace continueAsyncTraceObject(TraceRoot traceRoot, LocalAsyncId localAsyncId, boolean canSampled) {
public Trace continueAsyncContextTraceObject(TraceRoot traceRoot, LocalAsyncId localAsyncId, boolean canSampled) {
if (logger.isDebugEnabled()) {
logger.debug("continueAsyncTraceObject(traceRoot:{}, localAsyncId:{}, canSampled:{})", traceRoot, localAsyncId, canSampled);
}

return baseTraceFactory.continueAsyncTraceObject(traceRoot, localAsyncId, canSampled);
return baseTraceFactory.continueAsyncContextTraceObject(traceRoot, localAsyncId, canSampled);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -204,10 +204,6 @@ public AsyncId getAsyncIdObject() {
return asyncIdObject;
}

public boolean isDummy() {
return false;
}

@Override
public String toString() {
return "SpanEvent{" +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,17 @@ public SpanEvent newInstance() {
}

@Override
public SpanEvent dummyInstance() {
final SpanEvent spanEvent = new DummySpanEvent();
return spanEvent;
public SpanEvent disableInstance() {
return new DisableSpanEvent();
}

@Override
public boolean isDummy(SpanEvent element) {
return element instanceof DummySpanEvent;
public boolean isDisable(SpanEvent element) {
return isDisableSpanEvent(element);
}

public static boolean isDisableSpanEvent(SpanEvent spanEvent) {
return spanEvent instanceof DisableSpanEvent;
}

@Override
Expand All @@ -56,15 +59,4 @@ public String toString() {
return "SpanEventFactory{}";
}

private static class DummySpanEvent extends SpanEvent {
@Override
public String toString() {
return "DummySpanEvent";
}

@Override
public boolean isDummy() {
return true;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,11 @@ public AsyncContext recordNextAsyncContext(boolean asyncStateSupport) {
if (asyncStateSupport) {
final TraceRoot traceRoot = this.traceRoot;
final AsyncId asyncIdObject = getNextAsyncId();
final boolean canSampled = canSampleNextAsyncContext();
final boolean isDisabled = isOverflowState();

final AsyncState asyncState = this.asyncState;
asyncState.setup();
final AsyncContext asyncContext = asyncContextFactory.newAsyncContext(traceRoot, asyncIdObject, canSampled, asyncState);
final AsyncContext asyncContext = asyncContextFactory.newAsyncContext(traceRoot, asyncIdObject, isDisabled, asyncState);
return asyncContext;
}
return recordNextAsyncContext();
Expand Down
Loading

0 comments on commit 3f281c4

Please sign in to comment.