提交 903a2a17 编写于 作者: wu-sheng's avatar wu-sheng

Fix all compile issues.

上级 14f9154b
......@@ -5,6 +5,8 @@ import com.alibaba.dubbo.rpc.Invocation;
import com.alibaba.dubbo.rpc.Invoker;
import com.alibaba.dubbo.rpc.Result;
import com.alibaba.dubbo.rpc.RpcContext;
import java.lang.reflect.Field;
import java.util.List;
import org.hamcrest.CoreMatchers;
import org.junit.After;
import org.junit.Assert;
......@@ -25,6 +27,8 @@ import org.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptR
import org.skywalking.apm.plugin.dubbox.BugFixActive;
import org.skywalking.apm.sniffer.mock.context.MockTracerContextListener;
import org.skywalking.apm.sniffer.mock.context.SegmentAssert;
import org.skywalking.apm.sniffer.mock.trace.SpanLogReader;
import org.skywalking.apm.sniffer.mock.trace.tags.StringTagReader;
import org.skywalking.apm.trace.LogData;
import org.skywalking.apm.trace.Span;
import org.skywalking.apm.trace.TraceSegment;
......@@ -39,7 +43,7 @@ import static org.powermock.api.mockito.PowerMockito.mockStatic;
import static org.powermock.api.mockito.PowerMockito.when;
@RunWith(PowerMockRunner.class)
@PrepareForTest( {RpcContext.class, BugFixActive.class})
@PrepareForTest({RpcContext.class, BugFixActive.class})
public class DubboInterceptorTest {
private MockTracerContextListener mockTracerContextListener;
......@@ -172,12 +176,13 @@ public class DubboInterceptorTest {
assertProvider();
}
private void assertConsumerTraceSegmentInErrorCase(TraceSegment traceSegment) {
private void assertConsumerTraceSegmentInErrorCase(
TraceSegment traceSegment) {
assertThat(traceSegment.getSpans().size(), is(1));
assertConsumerSpan(traceSegment.getSpans().get(0));
Span span = traceSegment.getSpans().get(0);
assertThat(span.getLogs().size(), is(1));
assertErrorLog(span.getLogs().get(0));
assertThat(SpanLogReader.getLogs(span).size(), is(1));
assertErrorLog(SpanLogReader.getLogs(span).get(0));
}
private void assertErrorLog(LogData logData) {
......@@ -210,18 +215,18 @@ public class DubboInterceptorTest {
private void assertProviderSpan(Span span) {
assertCommonsAttribute(span);
assertThat(Tags.SPAN_KIND.get(span), is(Tags.SPAN_KIND_SERVER));
assertThat(StringTagReader.get(span, Tags.SPAN_KIND), is(Tags.SPAN_KIND_SERVER));
}
private void assertConsumerSpan(Span span) {
assertCommonsAttribute(span);
assertThat(Tags.SPAN_KIND.get(span), is(Tags.SPAN_KIND_CLIENT));
assertThat(StringTagReader.get(span, Tags.SPAN_KIND), is(Tags.SPAN_KIND_CLIENT));
}
private void assertCommonsAttribute(Span span) {
assertThat(Tags.SPAN_LAYER.isRPCFramework(span), is(true));
assertThat(Tags.COMPONENT.get(span), is(DubboInterceptor.DUBBO_COMPONENT));
assertThat(Tags.URL.get(span), is("dubbo://127.0.0.1:20880/org.skywalking.apm.test.TestDubboService.test(String)"));
assertThat(StringTagReader.get(span, Tags.SPAN_LAYER.SPAN_LAYER_TAG), is("rpc"));
assertThat(StringTagReader.get(span, Tags.COMPONENT), is(DubboInterceptor.DUBBO_COMPONENT));
assertThat(StringTagReader.get(span, Tags.URL), is("dubbo://127.0.0.1:20880/org.skywalking.apm.test.TestDubboService.test(String)"));
assertThat(span.getOperationName(), is("org.skywalking.apm.test.TestDubboService.test(String)"));
}
......@@ -229,5 +234,4 @@ public class DubboInterceptorTest {
public void tearDown() throws Exception {
TracerContext.ListenerManager.remove(mockTracerContextListener);
}
}
......@@ -19,6 +19,9 @@ import org.skywalking.apm.agent.core.plugin.interceptor.EnhancedClassInstanceCon
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodInvokeContext;
import org.skywalking.apm.sniffer.mock.context.MockTracerContextListener;
import org.skywalking.apm.sniffer.mock.context.SegmentAssert;
import org.skywalking.apm.sniffer.mock.trace.SpanLogReader;
import org.skywalking.apm.sniffer.mock.trace.tags.BooleanTagReader;
import org.skywalking.apm.sniffer.mock.trace.tags.StringTagReader;
import org.skywalking.apm.trace.Span;
import org.skywalking.apm.trace.TraceSegment;
import org.skywalking.apm.trace.tag.Tags;
......@@ -76,7 +79,7 @@ public class DefaultHttpClientInterceptorTest {
@Override public void call(TraceSegment finishedSegment) {
Assert.assertEquals(1, finishedSegment.getSpans().size());
assertSpan(finishedSegment.getSpans().get(0));
Assert.assertEquals(false, Tags.ERROR.get(finishedSegment.getSpans().get(0)));
Assert.assertEquals(false, BooleanTagReader.get(finishedSegment.getSpans().get(0), Tags.ERROR));
}
});
}
......@@ -94,19 +97,19 @@ public class DefaultHttpClientInterceptorTest {
@Override public void call(TraceSegment finishedSegment) {
Assert.assertEquals(1, finishedSegment.getSpans().size());
assertSpan(finishedSegment.getSpans().get(0));
Assert.assertEquals(true, Tags.ERROR.get(finishedSegment.getSpans().get(0)));
Assert.assertEquals(true, BooleanTagReader.get(finishedSegment.getSpans().get(0), Tags.ERROR));
}
});
}
private void assertSpan(Span span) {
Assert.assertEquals("http", Tags.SPAN_LAYER.get(span));
Assert.assertEquals("GET", Tags.HTTP.METHOD.get(span));
Assert.assertEquals("skywalking.org", Tags.PEER_HOST.get(span));
Assert.assertEquals(-1, Tags.PEER_PORT.get(span).intValue());
Assert.assertEquals("FeignDefaultHttp", Tags.COMPONENT.get(span));
Assert.assertEquals("client", Tags.SPAN_KIND.get(span));
Assert.assertEquals("", Tags.URL.get(span));
Assert.assertEquals("http", StringTagReader.get(span, Tags.SPAN_LAYER.SPAN_LAYER_TAG));
Assert.assertEquals("GET", StringTagReader.get(span, Tags.HTTP.METHOD));
Assert.assertEquals("skywalking.org", span.getPeerHost());
Assert.assertEquals(-1, span.getPort());
Assert.assertEquals("FeignDefaultHttp", StringTagReader.get(span, Tags.COMPONENT));
Assert.assertEquals("client", StringTagReader.get(span, Tags.SPAN_KIND));
Assert.assertEquals("", StringTagReader.get(span, Tags.URL));
}
@Test
......@@ -124,11 +127,11 @@ public class DefaultHttpClientInterceptorTest {
@Override public void call(TraceSegment finishedSegment) {
Assert.assertEquals(1, finishedSegment.getSpans().size());
assertSpan(finishedSegment.getSpans().get(0));
Assert.assertEquals(true, Tags.ERROR.get(finishedSegment.getSpans().get(0)));
Assert.assertEquals(true, BooleanTagReader.get(finishedSegment.getSpans().get(0), Tags.ERROR));
Assert.assertEquals(1, finishedSegment.getSpans().get(0).getLogs().size());
Assert.assertEquals(true, finishedSegment.getSpans().get(0).getLogs().get(0).getFields().containsKey("stack"));
Assert.assertEquals("testException", finishedSegment.getSpans().get(0).getLogs().get(0).getFields().get("message"));
Assert.assertEquals(1, SpanLogReader.getLogs(finishedSegment.getSpans().get(0)).size());
Assert.assertEquals(true, SpanLogReader.getLogs(finishedSegment.getSpans().get(0)).get(0).getFields().containsKey("stack"));
Assert.assertEquals("testException", SpanLogReader.getLogs(finishedSegment.getSpans().get(0)).get(0).getFields().get("message"));
}
});
}
......
......@@ -67,8 +67,8 @@ public class MongoDBMethodInterceptor implements InstanceMethodsAroundIntercepto
public Object afterMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext,
Object ret) {
Span span = ContextManager.activeSpan();
span.setPeerHost(context.get(MONGODB_HOST, String.class));
span.setPort(context.get(MONGODB_PORT, Integer.class));
span.setPeerHost((String)context.get(MONGODB_HOST));
span.setPort((Integer)context.get(MONGODB_PORT));
ContextManager.stopSpan();
return ret;
}
......
......@@ -21,6 +21,8 @@ import org.skywalking.apm.agent.core.plugin.interceptor.EnhancedClassInstanceCon
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodInvokeContext;
import org.skywalking.apm.sniffer.mock.context.MockTracerContextListener;
import org.skywalking.apm.sniffer.mock.context.SegmentAssert;
import org.skywalking.apm.sniffer.mock.trace.SpanLogReader;
import org.skywalking.apm.sniffer.mock.trace.tags.StringTagReader;
import org.skywalking.apm.trace.LogData;
import org.skywalking.apm.trace.Span;
import org.skywalking.apm.trace.TraceSegment;
......@@ -53,7 +55,7 @@ public class MongoDBMethodInterceptorTest {
Config.Plugin.MongoDB.TRACE_PARAM = true;
when(classInstanceContext.get(MongoDBMethodInterceptor.MONGODB_HOST, String.class)).thenReturn("127.0.0.1");
when(classInstanceContext.get(MongoDBMethodInterceptor.MONGODB_HOST)).thenReturn("127.0.0.1");
when(classInstanceContext.get(MongoDBMethodInterceptor.MONGODB_PORT)).thenReturn(27017);
when(methodInvokeContext.methodName()).thenReturn("find");
......@@ -96,8 +98,8 @@ public class MongoDBMethodInterceptorTest {
assertThat(traceSegment.getSpans().size(), is(1));
Span span = traceSegment.getSpans().get(0);
assertRedisSpan(span);
assertThat(span.getLogs().size(), is(1));
assertLogData(span.getLogs().get(0));
assertThat(SpanLogReader.getLogs(span).size(), is(1));
assertLogData(SpanLogReader.getLogs(span).get(0));
}
});
}
......@@ -111,12 +113,12 @@ public class MongoDBMethodInterceptorTest {
private void assertRedisSpan(Span span) {
assertThat(span.getOperationName(), is("MongoDB/FindOperation"));
assertThat(Tags.PEER_HOST.get(span), is("127.0.0.1"));
assertThat(Tags.PEER_PORT.get(span), is(27017));
assertThat(Tags.COMPONENT.get(span), is("MongoDB"));
assertThat(Tags.DB_STATEMENT.get(span), is("FindOperation { \"name\" : \"by\" }"));
assertThat(Tags.DB_TYPE.get(span), is("MongoDB"));
assertTrue(Tags.SPAN_LAYER.isDB(span));
assertThat(span.getPeerHost(), is("127.0.0.1"));
assertThat(span.getPort(), is(27017));
assertThat(StringTagReader.get(span, Tags.COMPONENT), is("MongoDB"));
assertThat(StringTagReader.get(span, Tags.DB_STATEMENT), is("FindOperation { \"name\" : \"by\" }"));
assertThat(StringTagReader.get(span, Tags.DB_TYPE), is("MongoDB"));
assertThat(StringTagReader.get(span, Tags.SPAN_LAYER.SPAN_LAYER_TAG), is("db"));
}
@After
......
......@@ -22,6 +22,8 @@ import org.skywalking.apm.agent.core.plugin.interceptor.EnhancedClassInstanceCon
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodInvokeContext;
import org.skywalking.apm.sniffer.mock.context.MockTracerContextListener;
import org.skywalking.apm.sniffer.mock.context.SegmentAssert;
import org.skywalking.apm.sniffer.mock.trace.SpanLogReader;
import org.skywalking.apm.sniffer.mock.trace.tags.StringTagReader;
import org.skywalking.apm.trace.LogData;
import org.skywalking.apm.trace.Span;
import org.skywalking.apm.trace.TraceSegment;
......@@ -56,7 +58,7 @@ public class MongoDBWriteMethodInterceptorTest {
Config.Plugin.MongoDB.TRACE_PARAM = true;
when(classInstanceContext.get(MongoDBMethodInterceptor.MONGODB_HOST, String.class)).thenReturn("127.0.0.1");
when(classInstanceContext.get(MongoDBMethodInterceptor.MONGODB_HOST)).thenReturn("127.0.0.1");
when(classInstanceContext.get(MongoDBMethodInterceptor.MONGODB_PORT)).thenReturn(27017);
when(methodInvokeContext.methodName()).thenReturn("find");
......@@ -96,12 +98,12 @@ public class MongoDBWriteMethodInterceptorTest {
private void assertRedisSpan(Span span) {
assertThat(span.getOperationName(), is("MongoDB/DeleteOperation"));
assertThat(Tags.PEER_HOST.get(span), is("127.0.0.1"));
assertThat(Tags.PEER_PORT.get(span), is(27017));
assertThat(Tags.COMPONENT.get(span), is("MongoDB"));
assertThat(Tags.DB_STATEMENT.get(span), is("DeleteOperation { \"name\" : \"by\" },"));
assertThat(Tags.DB_TYPE.get(span), is("MongoDB"));
assertTrue(Tags.SPAN_LAYER.isDB(span));
assertThat(span.getPeerHost(), is("127.0.0.1"));
assertThat(span.getPort(), is(27017));
assertThat(StringTagReader.get(span, Tags.COMPONENT), is("MongoDB"));
assertThat(StringTagReader.get(span, Tags.DB_STATEMENT), is("DeleteOperation { \"name\" : \"by\" },"));
assertThat(StringTagReader.get(span, Tags.DB_TYPE), is("MongoDB"));
assertThat(StringTagReader.get(span, Tags.SPAN_LAYER.SPAN_LAYER_TAG), is("db"));
}
@Test
......@@ -117,8 +119,8 @@ public class MongoDBWriteMethodInterceptorTest {
assertThat(traceSegment.getSpans().size(), is(1));
Span span = traceSegment.getSpans().get(0);
assertRedisSpan(span);
assertThat(span.getLogs().size(), is(1));
assertLogData(span.getLogs().get(0));
assertThat(SpanLogReader.getLogs(span).size(), is(1));
assertLogData(SpanLogReader.getLogs(span).get(0));
}
});
}
......
......@@ -17,6 +17,8 @@ import org.skywalking.apm.agent.core.plugin.interceptor.EnhancedClassInstanceCon
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodInvokeContext;
import org.skywalking.apm.sniffer.mock.context.MockTracerContextListener;
import org.skywalking.apm.sniffer.mock.context.SegmentAssert;
import org.skywalking.apm.sniffer.mock.trace.SpanLogReader;
import org.skywalking.apm.sniffer.mock.trace.tags.StringTagReader;
import org.skywalking.apm.trace.LogData;
import org.skywalking.apm.trace.Span;
import org.skywalking.apm.trace.TraceSegment;
......@@ -97,8 +99,8 @@ public class MotanConsumerInterceptorTest {
Span span = traceSegment.getSpans().get(0);
assertMotanConsumerSpan(span);
verify(request, times(1)).setAttachment(anyString(), anyString());
assertThat(span.getLogs().size(), is(1));
LogData logData = span.getLogs().get(0);
assertThat(SpanLogReader.getLogs(span).size(), is(1));
LogData logData = SpanLogReader.getLogs(span).get(0);
assertLogData(logData);
}
});
......@@ -124,12 +126,12 @@ public class MotanConsumerInterceptorTest {
private void assertMotanConsumerSpan(Span span) {
assertThat(span.getOperationName(), is("org.skywalking.apm.test.TestService.test(java.lang.String, java.lang.Object)"));
assertThat(Tags.COMPONENT.get(span), is("Motan"));
assertThat(Tags.SPAN_KIND.get(span), is(Tags.SPAN_KIND_CLIENT));
assertThat(Tags.PEER_HOST.get(span), is("127.0.0.1"));
assertThat(Tags.PEER_PORT.get(span), is(34000));
assertTrue(Tags.SPAN_LAYER.isRPCFramework(span));
assertThat(Tags.URL.get(span), is("motan://127.0.0.1:34000/default_rpc/org.skywalking.apm.test.TestService/1.0/service"));
assertThat(StringTagReader.get(span, Tags.COMPONENT), is("Motan"));
assertThat(StringTagReader.get(span, Tags.SPAN_KIND), is(Tags.SPAN_KIND_CLIENT));
assertThat(span.getPeerHost(), is("127.0.0.1"));
assertThat(span.getPort(), is(34000));
assertThat(StringTagReader.get(span, Tags.SPAN_LAYER.SPAN_LAYER_TAG), is("rpc"));
assertThat(StringTagReader.get(span, Tags.URL), is("motan://127.0.0.1:34000/default_rpc/org.skywalking.apm.test.TestService/1.0/service"));
}
@After
......
......@@ -18,6 +18,8 @@ import org.skywalking.apm.agent.core.plugin.interceptor.enhance.ConstructorInvok
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodInvokeContext;
import org.skywalking.apm.sniffer.mock.context.MockTracerContextListener;
import org.skywalking.apm.sniffer.mock.context.SegmentAssert;
import org.skywalking.apm.sniffer.mock.trace.SpanLogReader;
import org.skywalking.apm.sniffer.mock.trace.tags.StringTagReader;
import org.skywalking.apm.trace.LogData;
import org.skywalking.apm.trace.Span;
import org.skywalking.apm.trace.TraceSegment;
......@@ -133,8 +135,8 @@ public class MotanProviderInterceptorTest {
assertThat(traceSegment.getSpans().size(), is(1));
Span span = traceSegment.getSpans().get(0);
assertMotanProviderSpan(span);
assertThat(span.getLogs().size(), is(1));
LogData logData = span.getLogs().get(0);
assertThat(SpanLogReader.getLogs(span).size(), is(1));
LogData logData = SpanLogReader.getLogs(span).get(0);
assertLogData(logData);
}
});
......@@ -155,9 +157,9 @@ public class MotanProviderInterceptorTest {
private void assertMotanProviderSpan(Span span) {
assertThat(span.getOperationName(), is("org.skywalking.apm.test.TestService.test(java.lang.String, java.lang.Object)"));
assertThat(Tags.COMPONENT.get(span), is("Motan"));
assertThat(Tags.SPAN_KIND.get(span), is(Tags.SPAN_KIND_SERVER));
assertTrue(Tags.SPAN_LAYER.isRPCFramework(span));
assertThat(StringTagReader.get(span, Tags.COMPONENT), is("Motan"));
assertThat(StringTagReader.get(span, Tags.SPAN_KIND), is(Tags.SPAN_KIND_SERVER));
assertThat(StringTagReader.get(span, Tags.SPAN_LAYER.SPAN_LAYER_TAG), is("rpc"));
}
@After
......
......@@ -17,6 +17,9 @@ import org.skywalking.apm.agent.core.plugin.interceptor.enhance.ConstructorInvok
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodInvokeContext;
import org.skywalking.apm.sniffer.mock.context.MockTracerContextListener;
import org.skywalking.apm.sniffer.mock.context.SegmentAssert;
import org.skywalking.apm.sniffer.mock.trace.SpanLogReader;
import org.skywalking.apm.sniffer.mock.trace.tags.BooleanTagReader;
import org.skywalking.apm.sniffer.mock.trace.tags.StringTagReader;
import org.skywalking.apm.trace.Span;
import org.skywalking.apm.trace.TraceSegment;
import org.skywalking.apm.trace.tag.Tags;
......@@ -83,7 +86,7 @@ public class RealCallInterceptorTest {
@Override public void call(TraceSegment finishedSegment) {
Assert.assertEquals(1, finishedSegment.getSpans().size());
assertSpan(finishedSegment.getSpans().get(0));
Assert.assertEquals(false, Tags.ERROR.get(finishedSegment.getSpans().get(0)));
Assert.assertEquals(false, BooleanTagReader.get(finishedSegment.getSpans().get(0), Tags.ERROR));
}
});
}
......@@ -102,19 +105,19 @@ public class RealCallInterceptorTest {
@Override public void call(TraceSegment finishedSegment) {
Assert.assertEquals(1, finishedSegment.getSpans().size());
assertSpan(finishedSegment.getSpans().get(0));
Assert.assertEquals(true, Tags.ERROR.get(finishedSegment.getSpans().get(0)));
Assert.assertEquals(true, BooleanTagReader.get(finishedSegment.getSpans().get(0), Tags.ERROR));
}
});
}
private void assertSpan(Span span) {
Assert.assertEquals("http", Tags.SPAN_LAYER.get(span));
Assert.assertEquals("GET", Tags.HTTP.METHOD.get(span));
Assert.assertEquals("skywalking.org", Tags.PEER_HOST.get(span));
Assert.assertEquals(80, Tags.PEER_PORT.get(span).intValue());
Assert.assertEquals("OKHttp", Tags.COMPONENT.get(span));
Assert.assertEquals("client", Tags.SPAN_KIND.get(span));
Assert.assertEquals("/", Tags.URL.get(span));
Assert.assertEquals("http", StringTagReader.get(span, Tags.SPAN_LAYER.SPAN_LAYER_TAG));
Assert.assertEquals("GET", StringTagReader.get(span, Tags.HTTP.METHOD));
Assert.assertEquals("skywalking.org", span.getPeerHost());
Assert.assertEquals(80, span.getPort());
Assert.assertEquals("OKHttp", StringTagReader.get(span, Tags.COMPONENT));
Assert.assertEquals("client", StringTagReader.get(span, Tags.SPAN_KIND));
Assert.assertEquals("/", StringTagReader.get(span, Tags.URL));
}
@Test
......@@ -133,10 +136,10 @@ public class RealCallInterceptorTest {
@Override public void call(TraceSegment finishedSegment) {
Assert.assertEquals(1, finishedSegment.getSpans().size());
assertSpan(finishedSegment.getSpans().get(0));
Assert.assertEquals(true, Tags.ERROR.get(finishedSegment.getSpans().get(0)));
Assert.assertEquals(true, BooleanTagReader.get(finishedSegment.getSpans().get(0), Tags.ERROR));
Assert.assertEquals(1, finishedSegment.getSpans().get(0).getLogs().size());
Assert.assertEquals(true, finishedSegment.getSpans().get(0).getLogs().get(0).getFields().containsKey("stack"));
Assert.assertEquals(1, SpanLogReader.getLogs(finishedSegment.getSpans().get(0)).size());
Assert.assertEquals(true, SpanLogReader.getLogs(finishedSegment.getSpans().get(0)).get(0).getFields().containsKey("stack"));
}
});
}
......
......@@ -16,6 +16,9 @@ import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodIn
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult;
import org.skywalking.apm.sniffer.mock.context.MockTracerContextListener;
import org.skywalking.apm.sniffer.mock.context.SegmentAssert;
import org.skywalking.apm.sniffer.mock.trace.SpanLogReader;
import org.skywalking.apm.sniffer.mock.trace.tags.IntTagReader;
import org.skywalking.apm.sniffer.mock.trace.tags.StringTagReader;
import org.skywalking.apm.trace.LogData;
import org.skywalking.apm.trace.Span;
import org.skywalking.apm.trace.TraceSegment;
......@@ -116,8 +119,8 @@ public class ResinV3InterceptorTest {
assertThat(traceSegment.getSpans().size(), is(1));
Span span = traceSegment.getSpans().get(0);
assertHttpSpan(span);
assertThat(span.getLogs().size(), is(1));
assertSpanLog(span.getLogs().get(0));
assertThat(SpanLogReader.getLogs(span).size(), is(1));
assertSpanLog(SpanLogReader.getLogs(span).get(0));
}
});
}
......@@ -136,11 +139,11 @@ public class ResinV3InterceptorTest {
private void assertHttpSpan(Span span) {
assertThat(span.getOperationName(), is("/test/testRequestURL"));
assertThat(Tags.COMPONENT.get(span), is("Resin"));
assertThat(Tags.URL.get(span), is("http://localhost:8080/test/testRequestURL"));
assertThat(Tags.STATUS_CODE.get(span), is(200));
assertThat(Tags.SPAN_KIND.get(span), is(Tags.SPAN_KIND_SERVER));
assertTrue(Tags.SPAN_LAYER.isHttp(span));
assertThat(StringTagReader.get(span, Tags.COMPONENT), is("Resin"));
assertThat(StringTagReader.get(span, Tags.URL), is("http://localhost:8080/test/testRequestURL"));
assertThat(IntTagReader.get(span, Tags.STATUS_CODE), is(200));
assertThat(StringTagReader.get(span, Tags.SPAN_KIND), is(Tags.SPAN_KIND_SERVER));
assertThat(StringTagReader.get(span, Tags.SPAN_LAYER.SPAN_LAYER_TAG), is("http"));
}
@After
......
......@@ -16,6 +16,9 @@ import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodIn
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult;
import org.skywalking.apm.sniffer.mock.context.MockTracerContextListener;
import org.skywalking.apm.sniffer.mock.context.SegmentAssert;
import org.skywalking.apm.sniffer.mock.trace.SpanLogReader;
import org.skywalking.apm.sniffer.mock.trace.tags.IntTagReader;
import org.skywalking.apm.sniffer.mock.trace.tags.StringTagReader;
import org.skywalking.apm.trace.LogData;
import org.skywalking.apm.trace.Span;
import org.skywalking.apm.trace.TraceSegment;
......@@ -115,8 +118,8 @@ public class ResinV4InterceptorTest {
assertThat(traceSegment.getSpans().size(), is(1));
Span span = traceSegment.getSpans().get(0);
assertHttpSpan(span);
assertThat(span.getLogs().size(), is(1));
assertSpanLog(span.getLogs().get(0));
assertThat(SpanLogReader.getLogs(span).size(), is(1));
assertSpanLog(SpanLogReader.getLogs(span).get(0));
}
});
}
......@@ -135,11 +138,11 @@ public class ResinV4InterceptorTest {
private void assertHttpSpan(Span span) {
assertThat(span.getOperationName(), is("/test/testRequestURL"));
assertThat(Tags.COMPONENT.get(span), is("Resin"));
assertThat(Tags.URL.get(span), is("http://localhost:8080/test/testRequestURL"));
assertThat(Tags.STATUS_CODE.get(span), is(200));
assertThat(Tags.SPAN_KIND.get(span), is(Tags.SPAN_KIND_SERVER));
assertTrue(Tags.SPAN_LAYER.isHttp(span));
assertThat(StringTagReader.get(span, Tags.COMPONENT), is("Resin"));
assertThat(StringTagReader.get(span, Tags.URL), is("http://localhost:8080/test/testRequestURL"));
assertThat(IntTagReader.get(span, Tags.STATUS_CODE), is(200));
assertThat(StringTagReader.get(span, Tags.SPAN_KIND), is(Tags.SPAN_KIND_SERVER));
assertThat(StringTagReader.get(span, Tags.SPAN_LAYER.SPAN_LAYER_TAG), is("http"));
}
@After
......
package org.skywalking.apm.plugin.tomcat78x;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.hamcrest.CoreMatchers;
import org.junit.After;
import org.junit.Before;
......@@ -14,19 +16,18 @@ import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodIn
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult;
import org.skywalking.apm.sniffer.mock.context.MockTracerContextListener;
import org.skywalking.apm.sniffer.mock.context.SegmentAssert;
import org.skywalking.apm.sniffer.mock.trace.SpanLogReader;
import org.skywalking.apm.sniffer.mock.trace.tags.IntTagReader;
import org.skywalking.apm.sniffer.mock.trace.tags.StringTagReader;
import org.skywalking.apm.trace.LogData;
import org.skywalking.apm.trace.Span;
import org.skywalking.apm.trace.TraceSegment;
import org.skywalking.apm.trace.TraceSegmentRef;
import org.skywalking.apm.trace.tag.Tags;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.when;
@RunWith(MockitoJUnitRunner.class)
......@@ -110,8 +111,8 @@ public class TomcatInterceptorTest {
assertThat(traceSegment.getSpans().size(), is(1));
Span span = traceSegment.getSpans().get(0);
assertHttpSpan(span);
assertThat(span.getLogs().size(), is(1));
assertSpanLog(span.getLogs().get(0));
assertThat(SpanLogReader.getLogs(span).size(), is(1));
assertSpanLog(SpanLogReader.getLogs(span).get(0));
}
});
}
......@@ -130,16 +131,15 @@ public class TomcatInterceptorTest {
private void assertHttpSpan(Span span) {
assertThat(span.getOperationName(), is("/test/testRequestURL"));
assertThat(Tags.COMPONENT.get(span), is("Tomcat"));
assertThat(Tags.URL.get(span), is("http://localhost:8080/test/testRequestURL"));
assertThat(Tags.STATUS_CODE.get(span), is(200));
assertThat(Tags.SPAN_KIND.get(span), is(Tags.SPAN_KIND_SERVER));
assertTrue(Tags.SPAN_LAYER.isHttp(span));
assertThat(StringTagReader.get(span, Tags.COMPONENT), is("Tomcat"));
assertThat(StringTagReader.get(span, Tags.URL), is("http://localhost:8080/test/testRequestURL"));
assertThat(IntTagReader.get(span, Tags.STATUS_CODE), is(200));
assertThat(StringTagReader.get(span, Tags.SPAN_KIND), is(Tags.SPAN_KIND_SERVER));
assertThat(StringTagReader.get(span, Tags.SPAN_LAYER.SPAN_LAYER_TAG), is("http"));
}
@After
public void tearDown() throws Exception {
TracerContext.ListenerManager.remove(new MockTracerContextListener());
}
}
package org.skywalking.apm.sniffer.mock.trace;
import java.lang.reflect.Field;
import java.util.List;
import org.skywalking.apm.trace.LogData;
import org.skywalking.apm.trace.Span;
/**
* @author wusheng
*/
public class SpanLogReader {
public static List<LogData> getLogs(Span span) {
Field logs = null;
try {
logs = Span.class.getDeclaredField("logs");
} catch (NoSuchFieldException e) {
throw new RuntimeException(e);
}
logs.setAccessible(true);
try {
return (List<LogData>)logs.get(span);
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
}
}
}
......@@ -22,9 +22,11 @@ public class BooleanTagReader {
e.printStackTrace();
}
for (BooleanTagItem item : tagsWithBoolList) {
if (tag.key().equals(item.getKey())) {
return item.getValue();
if (tagsWithBoolList != null) {
for (BooleanTagItem item : tagsWithBoolList) {
if (tag.key().equals(item.getKey())) {
return item.getValue();
}
}
}
return tag.defaultValue();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册