use of org.apache.cxf.tracing.opentracing.OpenTracingClientFeature 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());
}
use of org.apache.cxf.tracing.opentracing.OpenTracingClientFeature in project cxf by apache.
the class OpenTracingTracingTest method testThatNewChildSpanIsCreatedWhenParentIsProvidedInCaseOfFault.
@Test
public void testThatNewChildSpanIsCreatedWhenParentIsProvidedInCaseOfFault() throws MalformedURLException {
final BookStoreService service = createJaxWsService(new Configurator() {
@Override
public void configure(final JaxWsProxyFactoryBean factory) {
factory.getFeatures().add(new OpenTracingClientFeature(tracer));
factory.getOutInterceptors().add(new LoggingOutInterceptor());
factory.getInInterceptors().add(new LoggingInInterceptor());
}
});
try {
service.removeBooks();
fail("Expected SOAPFaultException to be raised");
} catch (final SOAPFaultException ex) {
/* expected exception */
}
assertThat(TestSender.getAllSpans().size(), equalTo(2));
assertThat(TestSender.getAllSpans().get(0).getOperationName(), equalTo("POST /BookStore"));
assertThat(TestSender.getAllSpans().get(1).getOperationName(), equalTo("POST http://localhost:" + PORT + "/BookStore"));
}
use of org.apache.cxf.tracing.opentracing.OpenTracingClientFeature in project cxf by apache.
the class OpenTracingTracingTest method testThatNewChildSpanIsCreatedWhenParentIsProvided.
@Test
public void testThatNewChildSpanIsCreatedWhenParentIsProvided() throws MalformedURLException {
final BookStoreService service = createJaxWsService(new Configurator() {
@Override
public void configure(final JaxWsProxyFactoryBean factory) {
factory.getFeatures().add(new OpenTracingClientFeature(tracer));
}
});
assertThat(service.getBooks().size(), equalTo(2));
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(2).getOperationName(), equalTo("POST http://localhost:" + PORT + "/BookStore"));
}
Aggregations