Fix all compile issues.
This commit is contained in:
parent
14f9154b21
commit
903a2a17a0
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
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());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,26 @@
|
|||
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();
|
||||
|
|
|
|||
Loading…
Reference in New Issue