Search in sources :

Example 76 with TraceSegment

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

the class SkywalkingSpanActivationTest method testCreateExitSpanWithPeer.

@Test
public void testCreateExitSpanWithPeer() throws Throwable {
    spanBuilder.withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_CLIENT).withTag(Tags.PEER_HOST_IPV4.getKey(), "127.0.0.1").withTag(Tags.PEER_PORT.getKey(), "8080");
    startSpan();
    stopSpan();
    TraceSegment tracingSegment = assertTraceSemgnets();
    List<AbstractTracingSpan> spans = SegmentHelper.getSpans(tracingSegment);
    assertThat(spans.size(), is(1));
    assertSpanCommonsAttribute(spans.get(0));
    assertThat(spans.get(0).isEntry(), is(false));
    assertThat(spans.get(0).isExit(), is(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 77 with TraceSegment

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

the class SkywalkingSpanActivationTest method testCreateLocalSpan.

@Test
public void testCreateLocalSpan() throws Throwable {
    startSpan();
    stopSpan();
    TraceSegment tracingSegment = assertTraceSemgnets();
    List<AbstractTracingSpan> spans = SegmentHelper.getSpans(tracingSegment);
    assertThat(spans.size(), is(1));
    assertThat(spans.get(0).isEntry(), is(false));
    assertThat(spans.get(0).isExit(), is(false));
}
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 78 with TraceSegment

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

the class TracingSegmentRunner method withAfters.

@Override
protected Statement withAfters(FrameworkMethod method, Object target, final Statement statement) {
    return new Statement() {

        @Override
        public void evaluate() throws Throwable {
            if (field != null) {
                try {
                    tracingData = new SegmentStorage();
                    field.set(targetObject, tracingData);
                } catch (IllegalAccessException e) {
                }
            }
            tracingContextListener = new TracingContextListener() {

                @Override
                public void afterFinished(TraceSegment traceSegment) {
                    tracingData.addTraceSegment(traceSegment);
                }
            };
            ignoreTracerContextListener = new IgnoreTracerContextListener() {

                @Override
                public void afterFinished(IgnoredTracerContext tracerContext) {
                    tracingData.addIgnoreTraceContext(tracerContext);
                }
            };
            TracingContext.ListenerManager.add(tracingContextListener);
            IgnoredTracerContext.ListenerManager.add(ignoreTracerContextListener);
            try {
                statement.evaluate();
            } finally {
                TracingContext.ListenerManager.remove(tracingContextListener);
                IgnoredTracerContext.ListenerManager.remove(ignoreTracerContextListener);
            }
        }
    };
}
Also used : IgnoredTracerContext(org.apache.skywalking.apm.agent.core.context.IgnoredTracerContext) Statement(org.junit.runners.model.Statement) IgnoreTracerContextListener(org.apache.skywalking.apm.agent.core.context.IgnoreTracerContextListener) TracingContextListener(org.apache.skywalking.apm.agent.core.context.TracingContextListener) TraceSegment(org.apache.skywalking.apm.agent.core.context.trace.TraceSegment)

Example 79 with TraceSegment

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

the class Struts2InterceptorTest method testWithSerializedContextData.

@Test
public void testWithSerializedContextData() throws Throwable {
    when(request.getHeader(SW3CarrierItem.HEADER_NAME)).thenReturn("1.234.111|3|1|1|#192.168.1.8:18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*");
    struts2Interceptor.beforeMethod(enhancedInstance, null, arguments, argumentType, methodInterceptResult);
    struts2Interceptor.afterMethod(enhancedInstance, null, arguments, argumentType, null);
    assertThat(segmentStorage.getTraceSegments().size(), is(1));
    TraceSegment traceSegment = segmentStorage.getTraceSegments().get(0);
    List<AbstractTracingSpan> spans = SegmentHelper.getSpans(traceSegment);
    assertHttpSpan(spans.get(0));
    assertTraceSegmentRef(traceSegment.getRefs().get(0));
}
Also used : 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 80 with TraceSegment

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

the class Struts2InterceptorTest method testWithOccurException.

@Test
public void testWithOccurException() throws Throwable {
    struts2Interceptor.beforeMethod(enhancedInstance, null, arguments, argumentType, methodInterceptResult);
    struts2Interceptor.handleMethodException(enhancedInstance, null, arguments, argumentType, new RuntimeException());
    struts2Interceptor.afterMethod(enhancedInstance, null, arguments, argumentType, null);
    assertThat(segmentStorage.getTraceSegments().size(), is(1));
    TraceSegment traceSegment = segmentStorage.getTraceSegments().get(0);
    List<AbstractTracingSpan> spans = SegmentHelper.getSpans(traceSegment);
    assertHttpSpan(spans.get(0));
    List<LogDataEntity> logDataEntities = SpanHelper.getLogs(spans.get(0));
    assertThat(logDataEntities.size(), is(1));
    assertException(logDataEntities.get(0), RuntimeException.class);
}
Also used : AbstractTracingSpan(org.apache.skywalking.apm.agent.core.context.trace.AbstractTracingSpan) LogDataEntity(org.apache.skywalking.apm.agent.core.context.trace.LogDataEntity) TraceSegment(org.apache.skywalking.apm.agent.core.context.trace.TraceSegment) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Aggregations

TraceSegment (org.apache.skywalking.apm.agent.core.context.trace.TraceSegment)158 AbstractTracingSpan (org.apache.skywalking.apm.agent.core.context.trace.AbstractTracingSpan)149 Test (org.junit.Test)147 PrepareForTest (org.powermock.core.classloader.annotations.PrepareForTest)20 PreparedStatement (java.sql.PreparedStatement)19 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