Search in sources :

Example 51 with AbstractTracingSpan

use of org.apache.skywalking.apm.agent.core.context.trace.AbstractTracingSpan in project incubator-skywalking by apache.

the class MessageSendInterceptorTest method testSendMessage.

@Test
public void testSendMessage() throws Throwable {
    messageSendInterceptor.beforeMethod(enhancedInstance, null, arguments, null, null);
    messageSendInterceptor.afterMethod(enhancedInstance, null, arguments, null, null);
    assertThat(segmentStorage.getTraceSegments().size(), is(1));
    TraceSegment traceSegment = segmentStorage.getTraceSegments().get(0);
    List<AbstractTracingSpan> spans = SegmentHelper.getSpans(traceSegment);
    assertThat(spans.size(), is(1));
    AbstractTracingSpan mqSpan = spans.get(0);
    SpanAssert.assertLayer(mqSpan, SpanLayer.MQ);
    SpanAssert.assertComponent(mqSpan, ComponentsDefine.ROCKET_MQ);
    SpanAssert.assertTag(mqSpan, 0, "127.0.0.1");
    verify(messageRequestHeader, times(1)).setProperties(anyString());
    verify(callBack, times(1)).setSkyWalkingDynamicField(Matchers.any());
}
Also used : AbstractTracingSpan(org.apache.skywalking.apm.agent.core.context.trace.AbstractTracingSpan) TraceSegment(org.apache.skywalking.apm.agent.core.context.trace.TraceSegment) Test(org.junit.Test)

Example 52 with AbstractTracingSpan

use of org.apache.skywalking.apm.agent.core.context.trace.AbstractTracingSpan in project incubator-skywalking by apache.

the class MessageSendInterceptorTest method testSendMessageWithoutCallBack.

@Test
public void testSendMessageWithoutCallBack() throws Throwable {
    messageSendInterceptor.beforeMethod(enhancedInstance, null, argumentsWithoutCallback, null, null);
    messageSendInterceptor.afterMethod(enhancedInstance, null, argumentsWithoutCallback, null, null);
    assertThat(segmentStorage.getTraceSegments().size(), is(1));
    TraceSegment traceSegment = segmentStorage.getTraceSegments().get(0);
    List<AbstractTracingSpan> spans = SegmentHelper.getSpans(traceSegment);
    assertThat(spans.size(), is(1));
    AbstractTracingSpan mqSpan = spans.get(0);
    SpanAssert.assertLayer(mqSpan, SpanLayer.MQ);
    SpanAssert.assertComponent(mqSpan, ComponentsDefine.ROCKET_MQ);
    SpanAssert.assertTag(mqSpan, 0, "127.0.0.1");
    verify(messageRequestHeader, times(1)).setProperties(anyString());
}
Also used : AbstractTracingSpan(org.apache.skywalking.apm.agent.core.context.trace.AbstractTracingSpan) TraceSegment(org.apache.skywalking.apm.agent.core.context.trace.TraceSegment) Test(org.junit.Test)

Example 53 with AbstractTracingSpan

use of org.apache.skywalking.apm.agent.core.context.trace.AbstractTracingSpan in project incubator-skywalking by apache.

the class OnExceptionInterceptorTest method testOnException.

@Test
public void testOnException() throws Throwable {
    exceptionInterceptor.beforeMethod(enhancedInstance, null, new Object[] { new RuntimeException() }, null, null);
    exceptionInterceptor.afterMethod(enhancedInstance, null, new Object[] { new RuntimeException() }, null, null);
    assertThat(segmentStorage.getTraceSegments().size(), is(1));
    TraceSegment traceSegment = segmentStorage.getTraceSegments().get(0);
    List<AbstractTracingSpan> spans = SegmentHelper.getSpans(traceSegment);
    assertThat(spans.size(), is(1));
    AbstractTracingSpan exceptionSpan = spans.get(0);
    SpanAssert.assertException(SpanHelper.getLogs(exceptionSpan).get(0), RuntimeException.class);
    SpanAssert.assertOccurException(exceptionSpan, true);
}
Also used : AbstractTracingSpan(org.apache.skywalking.apm.agent.core.context.trace.AbstractTracingSpan) TraceSegment(org.apache.skywalking.apm.agent.core.context.trace.TraceSegment) Test(org.junit.Test)

Example 54 with AbstractTracingSpan

use of org.apache.skywalking.apm.agent.core.context.trace.AbstractTracingSpan in project incubator-skywalking by apache.

the class RealCallInterceptorTest method testException.

@Test
public void testException() throws Throwable {
    realCallInterceptor.onConstruct(enhancedInstance, allArguments);
    realCallInterceptor.beforeMethod(enhancedInstance, null, allArguments, argumentTypes, null);
    realCallInterceptor.handleMethodException(enhancedInstance, null, allArguments, argumentTypes, new NullPointerException("testException"));
    Response response = mock(Response.class);
    when(response.code()).thenReturn(200);
    realCallInterceptor.afterMethod(enhancedInstance, null, allArguments, argumentTypes, response);
    assertThat(segmentStorage.getTraceSegments().size(), is(1));
    TraceSegment traceSegment = segmentStorage.getTraceSegments().get(0);
    List<AbstractTracingSpan> spans = SegmentHelper.getSpans(traceSegment);
    assertSpan(spans.get(0));
    SpanAssert.assertOccurException(spans.get(0), true);
    SpanAssert.assertLogSize(spans.get(0), 1);
    SpanAssert.assertException(SpanHelper.getLogs(spans.get(0)).get(0), NullPointerException.class, "testException");
}
Also used : Response(okhttp3.Response) AbstractTracingSpan(org.apache.skywalking.apm.agent.core.context.trace.AbstractTracingSpan) TraceSegment(org.apache.skywalking.apm.agent.core.context.trace.TraceSegment) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Example 55 with AbstractTracingSpan

use of org.apache.skywalking.apm.agent.core.context.trace.AbstractTracingSpan in project incubator-skywalking by apache.

the class RealCallInterceptorTest method testMethodsAroundError.

@Test
public void testMethodsAroundError() throws Throwable {
    realCallInterceptor.onConstruct(enhancedInstance, allArguments);
    realCallInterceptor.beforeMethod(enhancedInstance, null, allArguments, argumentTypes, null);
    Response response = mock(Response.class);
    when(response.code()).thenReturn(404);
    realCallInterceptor.afterMethod(enhancedInstance, null, allArguments, argumentTypes, response);
    assertThat(segmentStorage.getTraceSegments().size(), is(1));
    TraceSegment traceSegment = segmentStorage.getTraceSegments().get(0);
    List<AbstractTracingSpan> spans = SegmentHelper.getSpans(traceSegment);
    assertSpan(spans.get(0));
    SpanAssert.assertOccurException(spans.get(0), true);
}
Also used : Response(okhttp3.Response) AbstractTracingSpan(org.apache.skywalking.apm.agent.core.context.trace.AbstractTracingSpan) TraceSegment(org.apache.skywalking.apm.agent.core.context.trace.TraceSegment) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Aggregations

AbstractTracingSpan (org.apache.skywalking.apm.agent.core.context.trace.AbstractTracingSpan)151 TraceSegment (org.apache.skywalking.apm.agent.core.context.trace.TraceSegment)149 Test (org.junit.Test)144 PreparedStatement (java.sql.PreparedStatement)19 PrepareForTest (org.powermock.core.classloader.annotations.PrepareForTest)18 LogDataEntity (org.apache.skywalking.apm.agent.core.context.trace.LogDataEntity)15 SegmentStoragePoint (org.apache.skywalking.apm.agent.test.tools.SegmentStoragePoint)14 CallableStatement (java.sql.CallableStatement)13 Method (java.lang.reflect.Method)11 Statement (java.sql.Statement)11 SQLException (java.sql.SQLException)10 KeyValuePair (org.apache.skywalking.apm.agent.core.context.util.KeyValuePair)10 ResultSet (java.sql.ResultSet)7 AbstractSpan (org.apache.skywalking.apm.agent.core.context.trace.AbstractSpan)7 ServletRequestAttributes (org.springframework.web.context.request.ServletRequestAttributes)7 Response (feign.Response)3 HashMap (java.util.HashMap)3 Response (okhttp3.Response)3 TraceSegmentRef (org.apache.skywalking.apm.agent.core.context.trace.TraceSegmentRef)3 TextMap (io.opentracing.propagation.TextMap)2