本文整理汇总了Java中io.opentracing.mock.MockSpan类的典型用法代码示例。如果您正苦于以下问题:Java MockSpan类的具体用法?Java MockSpan怎么用?Java MockSpan使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
MockSpan类属于io.opentracing.mock包,在下文中一共展示了MockSpan类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testUnknownHostException
import io.opentracing.mock.MockSpan; //导入依赖的package包/类
@Test
public void testUnknownHostException() throws IOException {
CloseableHttpClient client = clientBuilder.build();
try {
client.execute(new HttpGet("http://notexisting.example.com"));
} catch (UnknownHostException ex) {
}
List<MockSpan> mockSpans = mockTracer.finishedSpans();
Assert.assertEquals(2, mockSpans.size());
MockSpan mockSpan = mockSpans.get(0);
Assert.assertEquals(Boolean.TRUE, mockSpan.tags().get(Tags.ERROR.getKey()));
// logs
Assert.assertEquals(1, mockSpan.logEntries().size());
Assert.assertEquals(2, mockSpan.logEntries().get(0).fields().size());
Assert.assertEquals(Tags.ERROR.getKey(), mockSpan.logEntries().get(0).fields().get("event"));
Assert.assertNotNull(mockSpan.logEntries().get(0).fields().get("error.object"));
}
开发者ID:opentracing-contrib,项目名称:java-apache-httpclient,代码行数:22,代码来源:TracingHttpClientBuilderTest.java
示例2: test
import io.opentracing.mock.MockSpan; //导入依赖的package包/类
@Test
public void test() throws SQLException {
BasicDataSource dataSource = getDataSource("");
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
jdbcTemplate.execute("CREATE TABLE employee (id INTEGER)");
dataSource.close();
List<MockSpan> finishedSpans = mockTracer.finishedSpans();
assertEquals(1, finishedSpans.size());
checkTags(finishedSpans, "myservice", "jdbc:hsqldb:mem:spring");
checkSameTrace(finishedSpans);
assertNull(mockTracer.scopeManager().active());
}
示例3: jpa_with_active_span_only
import io.opentracing.mock.MockSpan; //导入依赖的package包/类
@Test
public void jpa_with_active_span_only() {
EntityManagerFactory entityManagerFactory = Persistence
.createEntityManagerFactory("jpa_active_span_only");
Employee employee = new Employee();
EntityManager entityManager = entityManagerFactory.createEntityManager();
entityManager.getTransaction().begin();
entityManager.persist(employee);
entityManager.getTransaction().commit();
entityManager.close();
entityManagerFactory.close();
assertNotNull(employee.id);
List<MockSpan> finishedSpans = mockTracer.finishedSpans();
assertEquals(0, finishedSpans.size());
assertNull(mockTracer.activeSpan());
}
示例4: testWithSpanOnlyWithParent
import io.opentracing.mock.MockSpan; //导入依赖的package包/类
@Test
public void testWithSpanOnlyWithParent() throws SQLException {
try (Scope activeSpan = mockTracer.buildSpan("parent").startActive(true)) {
BasicDataSource dataSource = getDataSource(";traceWithActiveSpanOnly=true");
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
jdbcTemplate.execute("CREATE TABLE with_parent_skip (id INTEGER)");
dataSource.close();
}
List<MockSpan> finishedSpans = mockTracer.finishedSpans();
assertEquals(2, finishedSpans.size());
checkSameTrace(finishedSpans);
assertNull(mockTracer.scopeManager().active());
}
示例5: jpa
import io.opentracing.mock.MockSpan; //导入依赖的package包/类
@Test
public void jpa() {
EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("jpa");
Employee employee = new Employee();
EntityManager entityManager = entityManagerFactory.createEntityManager();
entityManager.getTransaction().begin();
entityManager.persist(employee);
entityManager.getTransaction().commit();
entityManager.close();
entityManagerFactory.close();
assertNotNull(employee.id);
List<MockSpan> finishedSpans = mockTracer.finishedSpans();
assertEquals(8, finishedSpans.size());
checkTags(finishedSpans, "myservice", "jdbc:hsqldb:mem:jpa");
assertNull(mockTracer.scopeManager().active());
}
示例6: testParentSpanFromSpanManager
import io.opentracing.mock.MockSpan; //导入依赖的package包/类
@Test
public void testParentSpanFromSpanManager() throws InterruptedException {
{
Scope scope = mockTracer.buildSpan("parent")
.startActive(true);
mockWebServer.enqueue(new MockResponse()
.setResponseCode(200));
StringEntityRequest
entity = feign.<StringEntityRequest>newInstance(new Target.HardCodedTarget(StringEntityRequest.class,
mockWebServer.url("/foo").toString()));
entity.get();
scope.close();
}
Awaitility.await().until(reportedSpansSize(), IsEqual.equalTo(2));
List<MockSpan> mockSpans = mockTracer.finishedSpans();
Assert.assertEquals(2, mockSpans.size());
Assert.assertEquals(mockSpans.get(1).context().traceId(), mockSpans.get(0).context().traceId());
Assert.assertEquals(mockSpans.get(1).context().spanId(), mockSpans.get(0).parentId());
}
示例7: withActiveSpanOnlyNoParent
import io.opentracing.mock.MockSpan; //导入依赖的package包/类
@Test
public void withActiveSpanOnlyNoParent() throws InterruptedException {
SessionFactory sessionFactory = createSessionFactory(";traceWithActiveSpanOnly=true");
Session session = sessionFactory.openSession();
Employee employee = new Employee();
session.beginTransaction();
session.save(employee);
session.getTransaction().commit();
session.close();
sessionFactory.close();
List<MockSpan> finishedSpans = mockTracer.finishedSpans();
assertEquals(0, finishedSpans.size());
assertNull(mockTracer.scopeManager().active());
}
示例8: spring_with_parent_and_active_span_only
import io.opentracing.mock.MockSpan; //导入依赖的package包/类
@Test
public void spring_with_parent_and_active_span_only() throws Exception {
try (Scope ignored = mockTracer.buildSpan("parent").startActive(true)) {
BasicDataSource dataSource = getDataSource(true);
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
jdbcTemplate.execute("CREATE TABLE with_parent_skip_1 (id INTEGER)");
jdbcTemplate.execute("CREATE TABLE with_parent_skip_2 (id INTEGER)");
dataSource.close();
}
List<MockSpan> spans = mockTracer.finishedSpans();
assertEquals(3, spans.size());
checkSameTrace(spans);
}
示例9: testZuulTracing
import io.opentracing.mock.MockSpan; //导入依赖的package包/类
@Test
public void testZuulTracing() {
restTemplate.getForEntity("/test", String.class);
await().until(() -> mockTracer.finishedSpans().size() == 3);
List<MockSpan> mockSpans = mockTracer.finishedSpans();
assertEquals(3, mockSpans.size());
// 2 spans from java-web-servlet, 1 from zuul
assertEquals(2, getSpansByComponentName(mockSpans, "java-web-servlet").size());
MockSpan zuulSpan = getSpansByComponentName(mockSpans, TracePreZuulFilter.COMPONENT_NAME)
.get(0);
assertEquals(200, zuulSpan.tags().get(Tags.HTTP_STATUS.getKey()));
assertEquals("http://localhost:53751/hello",
zuulSpan.tags().get(TracePostZuulFilter.ROUTE_HOST_TAG));
assertEquals("GET", zuulSpan.operationName());
assertEquals(0, zuulSpan.generatedErrors().size());
TestUtils.assertSameTraceId(mockSpans);
}
示例10: testAsyncTraceAndSpans
import io.opentracing.mock.MockSpan; //导入依赖的package包/类
@Test
public void testAsyncTraceAndSpans() throws Exception {
try (ActiveSpan span = mockTracer.buildSpan("bar")
.startActive()) {
Future<String> fut = asyncService.fooAsync();
await().until(() -> fut.isDone());
assertThat(fut.get()).isNotNull();
}
await().until(() -> mockTracer.finishedSpans().size() == 3);
List<MockSpan> mockSpans = mockTracer.finishedSpans();
// parent span from test, span modelling @Async, span inside @Async
assertEquals(3, mockSpans.size());
TestUtils.assertSameTraceId(mockSpans);
MockSpan asyncSpan = mockSpans.get(1);
assertEquals(3, asyncSpan.tags().size());
assertEquals(TraceAsyncAspect.TAG_COMPONENT, asyncSpan.tags().get(Tags.COMPONENT.getKey()));
assertEquals("fooAsync", asyncSpan.tags().get(ExtensionTags.METHOD_TAG.getKey()));
assertEquals(AsyncService.class.getSimpleName(),
asyncSpan.tags().get(ExtensionTags.CLASS_TAG.getKey()));
}
示例11: test
import io.opentracing.mock.MockSpan; //导入依赖的package包/类
@Test
public void test() throws Exception {
Producer<Integer, String> producer = createProducer();
// Send 1
producer.send(new ProducerRecord<>("messages", 1, "test"));
// Send 2
producer.send(new ProducerRecord<>("messages", 1, "test"), new Callback() {
@Override
public void onCompletion(RecordMetadata metadata, Exception exception) {
assertEquals("messages", metadata.topic());
}
});
final CountDownLatch latch = new CountDownLatch(2);
createConsumer(latch, 1);
producer.close();
List<MockSpan> mockSpans = mockTracer.finishedSpans();
assertEquals(4, mockSpans.size());
checkSpans(mockSpans);
assertNull(mockTracer.activeSpan());
}
示例12: testWithCircuitBreaker
import io.opentracing.mock.MockSpan; //导入依赖的package包/类
@Test
public void testWithCircuitBreaker() {
try (ActiveSpan span = mockTracer.buildSpan("test_with_circuit_breaker")
.startActive()) {
String response = greetingService.alwaysFail();
assertThat(response).isNotNull();
}
/**
* 3 spans totally
* <ul>
* <li>one thats started in test</li>
* <li>one thats added in alwaysFail method of Greeting Service</li>
* <li>one thats added in the defaultGreeting method which is a fallback</li>
* </ul>
*/
await().atMost(3, TimeUnit.SECONDS).until(() -> mockTracer.finishedSpans().size() == 3);
List<MockSpan> mockSpans = mockTracer.finishedSpans();
assertEquals(3, mockSpans.size());
TestUtils.assertSameTraceId(mockSpans);
MockSpan hystrixSpan = mockSpans.get(1);
assertThat(hystrixSpan.tags()).isNotEmpty();
//one thats added in the defaultGreeting method which is a fallback should have the custom tag added
assertThat(hystrixSpan.tags().get("fallback")).isEqualTo("yes");
}
示例13: extract_second_no_context
import io.opentracing.mock.MockSpan; //导入依赖的package包/类
@Test
public void extract_second_no_context() {
MockSpan span = mockTracer.buildSpan("first").start();
Headers headers = new RecordHeaders();
assertTrue(headers.toArray().length == 0);
// inject first
TracingKafkaUtils.inject(span.context(), headers, mockTracer);
int headersLength = headers.toArray().length;
assertTrue(headersLength > 0);
// check second
MockSpan.MockContext spanContext2 = (MockContext) TracingKafkaUtils
.extractSpanContext(headers, mockTracer);
assertNull(spanContext2);
}
示例14: testFailRoutingContext
import io.opentracing.mock.MockSpan; //导入依赖的package包/类
@Test
public void testFailRoutingContext() throws Exception {
{
router.route("/fail").handler(routingContext -> {
routingContext.fail(501);
});
request("/fail", HttpMethod.GET, 501);
Awaitility.await().until(reportedSpansSize(), IsEqual.equalTo(1));
}
List<MockSpan> mockSpans = mockTracer.finishedSpans();
Assert.assertEquals(1, mockSpans.size());
MockSpan mockSpan = mockSpans.get(0);
Assert.assertEquals("GET", mockSpan.operationName());
Assert.assertEquals(6, mockSpan.tags().size());
Assert.assertEquals(Boolean.TRUE, mockSpan.tags().get(Tags.ERROR.getKey()));
Assert.assertEquals(501, mockSpan.tags().get(Tags.HTTP_STATUS.getKey()));
Assert.assertEquals("GET", mockSpan.tags().get(Tags.HTTP_METHOD.getKey()));
Assert.assertEquals("http://localhost:8080/fail", mockSpan.tags().get(Tags.HTTP_URL.getKey()));
Assert.assertEquals(0, mockSpan.logEntries().size());
}
示例15: testPreSendServerSpan
import io.opentracing.mock.MockSpan; //导入依赖的package包/类
@Test
public void testPreSendServerSpan() {
MessageBuilder<String> messageBuilder = MessageBuilder.withPayload("Hi")
.setHeader(TracingChannelInterceptor.SIMP_MESSAGE_TYPE, SimpMessageType.MESSAGE)
.setHeader(TracingChannelInterceptor.SIMP_DESTINATION, TEST_DESTINATION);
MockSpan parentSpan = mockTracer.buildSpan("parent").startManual();
mockTracer.inject(parentSpan.context(), Format.Builtin.TEXT_MAP,
new TextMapInjectAdapter(messageBuilder));
TracingChannelInterceptor interceptor = new TracingChannelInterceptor(mockTracer,
Tags.SPAN_KIND_SERVER);
Message<?> processed = interceptor.preSend(messageBuilder.build(), null);
// Verify span cached with message is child of propagated parentSpan span context
assertTrue(processed.getHeaders().containsKey(TracingChannelInterceptor.OPENTRACING_SPAN));
MockSpan childSpan = (MockSpan) processed.getHeaders()
.get(TracingChannelInterceptor.OPENTRACING_SPAN);
assertEquals(parentSpan.context().spanId(), childSpan.parentId());
assertEquals(parentSpan.context().traceId(), childSpan.context().traceId());
assertEquals(TEST_DESTINATION, childSpan.operationName());
assertEquals(Tags.SPAN_KIND_SERVER, childSpan.tags().get(Tags.SPAN_KIND.getKey()));
assertEquals(TracingChannelInterceptor.WEBSOCKET,
childSpan.tags().get(Tags.COMPONENT.getKey()));
}