Search in sources :

Example 6 with BookStoreService

use of org.apache.cxf.systest.jaxws.tracing.BookStoreService in project cxf by apache.

the class HTraceTracingTest method testThatNewChildSpanIsCreatedWhenParentIsProvided.

@Test
public void testThatNewChildSpanIsCreatedWhenParentIsProvided() throws MalformedURLException {
    final Tracer tracer = createTracer();
    final BookStoreService service = createJaxWsService(new Configurator() {

        @Override
        public void configure(final JaxWsProxyFactoryBean factory) {
            factory.getOutInterceptors().add(new HTraceClientStartInterceptor(tracer));
            factory.getInInterceptors().add(new HTraceClientStopInterceptor());
        }
    });
    assertThat(service.getBooks().size(), equalTo(2));
    assertThat(TestSpanReceiver.getAllSpans().size(), equalTo(3));
    assertThat(TestSpanReceiver.getAllSpans().get(0).getDescription(), equalTo("Get Books"));
    assertThat(TestSpanReceiver.getAllSpans().get(0).getParents().length, equalTo(1));
    assertThat(TestSpanReceiver.getAllSpans().get(1).getDescription(), equalTo("POST /BookStore"));
    assertThat(TestSpanReceiver.getAllSpans().get(2).getDescription(), equalTo("POST http://localhost:" + PORT + "/BookStore"));
    final Map<String, List<String>> response = getResponseHeaders(service);
    assertThat(response.get(TracerHeaders.DEFAULT_HEADER_SPAN_ID), not(nullValue()));
}
Also used : HTraceClientStopInterceptor(org.apache.cxf.tracing.htrace.HTraceClientStopInterceptor) Tracer(org.apache.htrace.core.Tracer) HTraceClientStartInterceptor(org.apache.cxf.tracing.htrace.HTraceClientStartInterceptor) BookStoreService(org.apache.cxf.systest.jaxws.tracing.BookStoreService) JaxWsProxyFactoryBean(org.apache.cxf.jaxws.JaxWsProxyFactoryBean) List(java.util.List) Test(org.junit.Test)

Example 7 with BookStoreService

use of org.apache.cxf.systest.jaxws.tracing.BookStoreService in project cxf by apache.

the class HTraceTracingTest method createJaxWsService.

private BookStoreService createJaxWsService(final Map<String, List<String>> headers, final Configurator configurator) throws MalformedURLException {
    JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
    factory.getOutInterceptors().add(new LoggingOutInterceptor());
    factory.getInInterceptors().add(new LoggingInInterceptor());
    factory.setServiceClass(BookStoreService.class);
    factory.setAddress("http://localhost:" + PORT + "/BookStore");
    if (configurator != null) {
        configurator.configure(factory);
    }
    final BookStoreService service = (BookStoreService) factory.create();
    final Client proxy = ClientProxy.getClient(service);
    proxy.getRequestContext().put(Message.PROTOCOL_HEADERS, headers);
    return service;
}
Also used : LoggingOutInterceptor(org.apache.cxf.ext.logging.LoggingOutInterceptor) BookStoreService(org.apache.cxf.systest.jaxws.tracing.BookStoreService) JaxWsProxyFactoryBean(org.apache.cxf.jaxws.JaxWsProxyFactoryBean) LoggingInInterceptor(org.apache.cxf.ext.logging.LoggingInInterceptor) Client(org.apache.cxf.endpoint.Client)

Example 8 with BookStoreService

use of org.apache.cxf.systest.jaxws.tracing.BookStoreService in project cxf by apache.

the class OpenTracingTracingTest method testThatNewSpanIsCreatedWhenNotProvided.

@Test
public void testThatNewSpanIsCreatedWhenNotProvided() throws MalformedURLException {
    final BookStoreService service = createJaxWsService();
    assertThat(service.getBooks().size(), equalTo(2));
    assertThat(TestSender.getAllSpans().size(), equalTo(2));
    assertThat(TestSender.getAllSpans().get(0).getOperationName(), equalTo("Get Books"));
    assertThat(TestSender.getAllSpans().get(1).getOperationName(), equalTo("POST /BookStore"));
}
Also used : BookStoreService(org.apache.cxf.systest.jaxws.tracing.BookStoreService) Test(org.junit.Test)

Example 9 with BookStoreService

use of org.apache.cxf.systest.jaxws.tracing.BookStoreService in project cxf by apache.

the class OpenTracingTracingTest method testThatNewSpanIsCreatedInCaseOfFault.

@Test
public void testThatNewSpanIsCreatedInCaseOfFault() throws MalformedURLException {
    final BookStoreService service = createJaxWsService();
    try {
        service.removeBooks();
        fail("Expected SOAPFaultException to be raised");
    } catch (final SOAPFaultException ex) {
    /* expected exception */
    }
    assertThat(TestSender.getAllSpans().size(), equalTo(1));
    assertThat(TestSender.getAllSpans().get(0).getOperationName(), equalTo("POST /BookStore"));
}
Also used : BookStoreService(org.apache.cxf.systest.jaxws.tracing.BookStoreService) SOAPFaultException(javax.xml.ws.soap.SOAPFaultException) Test(org.junit.Test)

Example 10 with BookStoreService

use of org.apache.cxf.systest.jaxws.tracing.BookStoreService in project cxf by apache.

the class OpenTracingTracingTest method testThatProvidedSpanIsNotClosedWhenActive.

@Test
public void testThatProvidedSpanIsNotClosedWhenActive() throws MalformedURLException {
    final BookStoreService service = createJaxWsService(new Configurator() {

        @Override
        public void configure(final JaxWsProxyFactoryBean factory) {
            factory.getFeatures().add(new OpenTracingClientFeature(tracer));
        }
    });
    try (ActiveSpan scope = tracer.buildSpan("test span").startActive()) {
        assertThat(service.getBooks().size(), equalTo(2));
        assertThat(tracer.activeSpan(), not(nullValue()));
        assertThat(TestSender.getAllSpans().size(), equalTo(3));
        assertThat(TestSender.getAllSpans().get(0).getOperationName(), equalTo("Get Books"));
        assertThat(TestSender.getAllSpans().get(0).getReferences(), not(empty()));
        assertThat(TestSender.getAllSpans().get(1).getOperationName(), equalTo("POST /BookStore"));
        assertThat(TestSender.getAllSpans().get(1).getReferences(), not(empty()));
        assertThat(TestSender.getAllSpans().get(2).getOperationName(), equalTo("POST http://localhost:" + PORT + "/BookStore"));
        assertThat(TestSender.getAllSpans().get(2).getReferences(), not(empty()));
    }
    // Await till flush happens, usually every second
    await().atMost(Duration.ONE_SECOND).until(() -> TestSender.getAllSpans().size() == 4);
    assertThat(TestSender.getAllSpans().size(), equalTo(4));
    assertThat(TestSender.getAllSpans().get(3).getOperationName(), equalTo("test span"));
    assertThat(TestSender.getAllSpans().get(3).getReferences(), empty());
}
Also used : OpenTracingClientFeature(org.apache.cxf.tracing.opentracing.OpenTracingClientFeature) ActiveSpan(io.opentracing.ActiveSpan) BookStoreService(org.apache.cxf.systest.jaxws.tracing.BookStoreService) JaxWsProxyFactoryBean(org.apache.cxf.jaxws.JaxWsProxyFactoryBean) Test(org.junit.Test)

Aggregations

BookStoreService (org.apache.cxf.systest.jaxws.tracing.BookStoreService)19 Test (org.junit.Test)16 List (java.util.List)11 JaxWsProxyFactoryBean (org.apache.cxf.jaxws.JaxWsProxyFactoryBean)11 LoggingInInterceptor (org.apache.cxf.ext.logging.LoggingInInterceptor)5 LoggingOutInterceptor (org.apache.cxf.ext.logging.LoggingOutInterceptor)5 SOAPFaultException (javax.xml.ws.soap.SOAPFaultException)4 Tracing (brave.Tracing)3 HashMap (java.util.HashMap)3 Client (org.apache.cxf.endpoint.Client)3 TestSpanReporter (org.apache.cxf.systest.brave.TestSpanReporter)3 BraveClientFeature (org.apache.cxf.tracing.brave.BraveClientFeature)3 OpenTracingClientFeature (org.apache.cxf.tracing.opentracing.OpenTracingClientFeature)3 HTraceClientStartInterceptor (org.apache.cxf.tracing.htrace.HTraceClientStartInterceptor)2 HTraceClientStopInterceptor (org.apache.cxf.tracing.htrace.HTraceClientStopInterceptor)2 Tracer (org.apache.htrace.core.Tracer)2 Span (brave.Span)1 SpanInScope (brave.Tracer.SpanInScope)1 SpanContext (com.uber.jaeger.SpanContext)1 ActiveSpan (io.opentracing.ActiveSpan)1