Search in sources :

Example 1 with Tag

use of org.apache.skywalking.apm.toolkit.opentracing.Tag in project incubator-skywalking by apache.

the class ConstructorWithSpanBuilderInterceptor method onConstruct.

@Override
public void onConstruct(EnhancedInstance objInst, Object[] allArguments) {
    SkywalkingSpanBuilder spanBuilder = (SkywalkingSpanBuilder) allArguments[0];
    AbstractSpan span;
    if (spanBuilder.isEntry()) {
        span = ContextManager.createEntrySpan(spanBuilder.getOperationName(), null);
    } else if (spanBuilder.isExit() && (!StringUtil.isEmpty(spanBuilder.getPeer()))) {
        span = ContextManager.createExitSpan(spanBuilder.getOperationName(), buildRemotePeer(spanBuilder));
    } else {
        span = ContextManager.createLocalSpan(spanBuilder.getOperationName());
    }
    for (Tag tag : spanBuilder.getTags()) {
        span.tag(tag.getKey(), tag.getValue());
    }
    span.setComponent(spanBuilder.getComponentName());
    if (spanBuilder.isError()) {
        span.errorOccurred();
    }
    objInst.setSkyWalkingDynamicField(span);
}
Also used : SkywalkingSpanBuilder(org.apache.skywalking.apm.toolkit.opentracing.SkywalkingSpanBuilder) Tag(org.apache.skywalking.apm.toolkit.opentracing.Tag) AbstractSpan(org.apache.skywalking.apm.agent.core.context.trace.AbstractSpan)

Aggregations

AbstractSpan (org.apache.skywalking.apm.agent.core.context.trace.AbstractSpan)1 SkywalkingSpanBuilder (org.apache.skywalking.apm.toolkit.opentracing.SkywalkingSpanBuilder)1 Tag (org.apache.skywalking.apm.toolkit.opentracing.Tag)1