Search in sources :

Example 6 with Span

use of com.uber.jaeger.Span in project jaeger-client-java by jaegertracing.

the class ThriftSpanConverterTest method testSpanDetectsIsClient.

@Test
public void testSpanDetectsIsClient() {
    Span span = (Span) tracer.buildSpan("test-service-operation").startManual();
    Tags.SPAN_KIND.set(span, Tags.SPAN_KIND_CLIENT);
    assertTrue(ThriftSpanConverter.isRpc(span));
    assertTrue(ThriftSpanConverter.isRpcClient(span));
}
Also used : Span(com.uber.jaeger.Span) Test(org.junit.Test)

Example 7 with Span

use of com.uber.jaeger.Span in project jaeger-client-java by jaegertracing.

the class ThriftSpanConverterTest method testSpanKindServerCreatesAnnotations.

@Test
public void testSpanKindServerCreatesAnnotations() {
    Span span = (com.uber.jaeger.Span) tracer.buildSpan("operation-name").startManual();
    Tags.SPAN_KIND.set(span, Tags.SPAN_KIND_SERVER);
    com.twitter.zipkin.thriftjava.Span zipkinSpan = ThriftSpanConverter.convertSpan(span);
    List<Annotation> annotations = zipkinSpan.getAnnotations();
    boolean serverReceiveFound = false;
    boolean serverSendFound = false;
    for (Annotation anno : annotations) {
        if (anno.getValue().equals(zipkincoreConstants.SERVER_RECV)) {
            serverReceiveFound = true;
        }
        if (anno.getValue().equals(zipkincoreConstants.SERVER_SEND)) {
            serverSendFound = true;
        }
    }
    assertTrue(serverReceiveFound);
    assertTrue(serverSendFound);
}
Also used : Span(com.uber.jaeger.Span) BinaryAnnotation(com.twitter.zipkin.thriftjava.BinaryAnnotation) Annotation(com.twitter.zipkin.thriftjava.Annotation) Test(org.junit.Test)

Example 8 with Span

use of com.uber.jaeger.Span in project jaeger-client-java by jaegertracing.

the class ThriftSpanConverterTest method testSpanDetectsEndpointTags.

@Test
public void testSpanDetectsEndpointTags() {
    int expectedIp = (127 << 24) | 1;
    int expectedPort = 8080;
    String expectedServiceName = "some-peer-service";
    Span span = (Span) tracer.buildSpan("test-service-operation").startManual();
    Tags.PEER_HOST_IPV4.set(span, expectedIp);
    Tags.PEER_PORT.set(span, expectedPort);
    Tags.PEER_SERVICE.set(span, expectedServiceName);
    assertEquals(expectedIp, ThriftSpanConverter.extractPeerEndpoint(span.getTags()).getIpv4());
    assertEquals(expectedPort, ThriftSpanConverter.extractPeerEndpoint(span.getTags()).getPort());
    assertEquals(expectedServiceName, ThriftSpanConverter.extractPeerEndpoint(span.getTags()).getService_name());
}
Also used : Span(com.uber.jaeger.Span) Test(org.junit.Test)

Example 9 with Span

use of com.uber.jaeger.Span in project jaeger-client-java by jaegertracing.

the class ZipkinSenderTest method testFlushSendsSpan.

@Test
public void testFlushSendsSpan() throws Exception {
    Span expectedSpan = (Span) tracer.buildSpan("raza").startManual();
    assertEquals(0, sender.append(expectedSpan));
    assertEquals(1, sender.flush());
    List<List<zipkin.Span>> traces = zipkinRule.getTraces();
    assertEquals(traces.size(), 1);
    assertEquals(traces.get(0).size(), 1);
    zipkin.Span actualSpan = traces.get(0).get(0);
    SpanContext context = expectedSpan.context();
    assertEquals(context.getTraceId(), actualSpan.traceId);
    assertEquals(context.getSpanId(), actualSpan.id);
    assertEquals(context.getParentId(), (long) actualSpan.parentId);
    assertEquals(expectedSpan.getOperationName(), actualSpan.name);
    for (BinaryAnnotation binaryAnnotation : actualSpan.binaryAnnotations) {
        assertEquals(tracer.getServiceName(), binaryAnnotation.endpoint.serviceName);
    }
    for (Annotation annotation : actualSpan.annotations) {
        assertEquals(tracer.getServiceName(), annotation.endpoint.serviceName);
    }
}
Also used : BinaryAnnotation(zipkin.BinaryAnnotation) SpanContext(com.uber.jaeger.SpanContext) ArrayList(java.util.ArrayList) List(java.util.List) Span(com.uber.jaeger.Span) Annotation(zipkin.Annotation) BinaryAnnotation(zipkin.BinaryAnnotation) Test(org.junit.Test)

Example 10 with Span

use of com.uber.jaeger.Span in project jaeger-client-java by jaegertracing.

the class BaggageSetterTest method testOverrideBaggage.

@Test
public void testOverrideBaggage() {
    when(mgr.getRestriction(SERVICE, KEY)).thenReturn(Restriction.of(true, 5));
    final String value = "value";
    SpanContext ctx = setter.setBaggage(span, KEY, value);
    Span child = (Span) tracer.buildSpan("some-operation").asChildOf(ctx).startManual();
    ctx = setter.setBaggage(child, KEY, value);
    assertBaggageLogs(child, KEY, value, false, true, false);
    assertEquals(value, ctx.getBaggageItem(KEY));
    assertEquals(2, metricsFactory.getCounter("jaeger:baggage_updates", "result=ok"));
}
Also used : SpanContext(com.uber.jaeger.SpanContext) Span(com.uber.jaeger.Span) Test(org.junit.Test)

Aggregations

Span (com.uber.jaeger.Span)34 Test (org.junit.Test)28 SpanContext (com.uber.jaeger.SpanContext)5 ArrayList (java.util.ArrayList)5 Response (javax.ws.rs.core.Response)5 BinaryAnnotation (com.twitter.zipkin.thriftjava.BinaryAnnotation)4 ObservedSpan (com.uber.jaeger.crossdock.api.ObservedSpan)4 TraceResponse (com.uber.jaeger.crossdock.api.TraceResponse)4 Annotation (com.twitter.zipkin.thriftjava.Annotation)3 Downstream (com.uber.jaeger.crossdock.api.Downstream)3 HashMap (java.util.HashMap)3 TreeMap (java.util.TreeMap)3 AutoExpandingBufferWriteTransport (org.apache.thrift.transport.AutoExpandingBufferWriteTransport)3 Tracer (com.uber.jaeger.Tracer)2 SenderException (com.uber.jaeger.exceptions.SenderException)2 FilterIntegrationTest (com.uber.jaeger.propagation.FilterIntegrationTest)2 Batch (com.uber.jaeger.thriftjava.Batch)2 Process (com.uber.jaeger.thriftjava.Process)2 TextMap (io.opentracing.propagation.TextMap)2 URI (java.net.URI)2