提交 8bfa648b 编写于 作者: wu-sheng's avatar wu-sheng

Provide a new method for creating exit span.

上级 2169b112
...@@ -108,6 +108,12 @@ public class ContextManager implements TracingContextListener, BootService, Igno ...@@ -108,6 +108,12 @@ public class ContextManager implements TracingContextListener, BootService, Igno
return span; return span;
} }
public static AbstractSpan createExitSpan(String operationName, String remotePeer) {
AbstractTracerContext context = getOrCreate(operationName, false);
AbstractSpan span = context.createExitSpan(operationName, remotePeer);
return span;
}
public static void inject(ContextCarrier carrier) { public static void inject(ContextCarrier carrier) {
get().inject(carrier); get().inject(carrier);
} }
......
...@@ -20,7 +20,7 @@ public class CallableStatementTracing { ...@@ -20,7 +20,7 @@ public class CallableStatementTracing {
} else { } else {
remotePeer = connectInfo.getHost() + ":" + connectInfo.getPort(); remotePeer = connectInfo.getHost() + ":" + connectInfo.getPort();
} }
AbstractSpan span = ContextManager.createExitSpan(connectInfo.getDBType() + "/JDBI/CallableStatement/" + method, new ContextCarrier(), remotePeer); AbstractSpan span = ContextManager.createExitSpan(connectInfo.getDBType() + "/JDBI/CallableStatement/" + method, remotePeer);
Tags.DB_TYPE.set(span, "sql"); Tags.DB_TYPE.set(span, "sql");
SpanLayer.asDB(span); SpanLayer.asDB(span);
Tags.DB_INSTANCE.set(span, connectInfo.getDatabaseName()); Tags.DB_INSTANCE.set(span, connectInfo.getDatabaseName());
......
...@@ -20,7 +20,7 @@ public class ConnectionTracing { ...@@ -20,7 +20,7 @@ public class ConnectionTracing {
} else { } else {
remotePeer = connectInfo.getHost() + ":" + connectInfo.getPort(); remotePeer = connectInfo.getHost() + ":" + connectInfo.getPort();
} }
AbstractSpan span = ContextManager.createExitSpan(connectInfo.getDBType() + "/JDBI/Connection/" + method, new ContextCarrier(), remotePeer); AbstractSpan span = ContextManager.createExitSpan(connectInfo.getDBType() + "/JDBI/Connection/" + method, remotePeer);
Tags.DB_TYPE.set(span, "sql"); Tags.DB_TYPE.set(span, "sql");
Tags.DB_INSTANCE.set(span, connectInfo.getDatabaseName()); Tags.DB_INSTANCE.set(span, connectInfo.getDatabaseName());
Tags.DB_STATEMENT.set(span, sql); Tags.DB_STATEMENT.set(span, sql);
......
...@@ -20,7 +20,7 @@ public class StatementTracing { ...@@ -20,7 +20,7 @@ public class StatementTracing {
remotePeer = connectInfo.getHost() + ":" + connectInfo.getPort(); remotePeer = connectInfo.getHost() + ":" + connectInfo.getPort();
} }
AbstractSpan span = ContextManager.createExitSpan(connectInfo.getDBType() + "/JDBI/Statement/" + method, new ContextCarrier(), remotePeer); AbstractSpan span = ContextManager.createExitSpan(connectInfo.getDBType() + "/JDBI/Statement/" + method, remotePeer);
Tags.DB_TYPE.set(span, "sql"); Tags.DB_TYPE.set(span, "sql");
Tags.DB_INSTANCE.set(span, connectInfo.getDatabaseName()); Tags.DB_INSTANCE.set(span, connectInfo.getDatabaseName());
Tags.DB_STATEMENT.set(span, sql); Tags.DB_STATEMENT.set(span, sql);
......
...@@ -16,7 +16,7 @@ public class JedisMethodInterceptor implements InstanceMethodsAroundInterceptor ...@@ -16,7 +16,7 @@ public class JedisMethodInterceptor implements InstanceMethodsAroundInterceptor
@Override public void beforeMethod(EnhancedInstance objInst, Method method, Object[] allArguments, @Override public void beforeMethod(EnhancedInstance objInst, Method method, Object[] allArguments,
Class<?>[] argumentsTypes, MethodInterceptResult result) throws Throwable { Class<?>[] argumentsTypes, MethodInterceptResult result) throws Throwable {
String peer = String.valueOf(objInst.getSkyWalkingDynamicField()); String peer = String.valueOf(objInst.getSkyWalkingDynamicField());
AbstractSpan span = ContextManager.createExitSpan("Jedis/" + method.getName(), new ContextCarrier(), peer); AbstractSpan span = ContextManager.createExitSpan("Jedis/" + method.getName(), peer);
span.setComponent(ComponentsDefine.REDIS); span.setComponent(ComponentsDefine.REDIS);
Tags.DB_TYPE.set(span, "Redis"); Tags.DB_TYPE.set(span, "Redis");
SpanLayer.asDB(span); SpanLayer.asDB(span);
......
...@@ -19,8 +19,7 @@ public class ConstructorWithSpanBuilderInterceptor implements InstanceConstructo ...@@ -19,8 +19,7 @@ public class ConstructorWithSpanBuilderInterceptor implements InstanceConstructo
if (spanBuilder.isEntry()) { if (spanBuilder.isEntry()) {
span = ContextManager.createEntrySpan(spanBuilder.getOperationName(), null); span = ContextManager.createEntrySpan(spanBuilder.getOperationName(), null);
} else if (spanBuilder.isExit() && (!StringUtil.isEmpty(spanBuilder.getPeer()))) { } else if (spanBuilder.isExit() && (!StringUtil.isEmpty(spanBuilder.getPeer()))) {
span = ContextManager.createExitSpan(spanBuilder.getOperationName(), span = ContextManager.createExitSpan(spanBuilder.getOperationName(), buildRemotePeer(spanBuilder));
new ContextCarrier(), buildRemotePeer(spanBuilder));
} else { } else {
span = ContextManager.createLocalSpan(spanBuilder.getOperationName()); span = ContextManager.createLocalSpan(spanBuilder.getOperationName());
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册