Search in sources :

Example 6 with Tracer

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

the class BaggageSetterTest method testUnsampledSpan.

@Test
public void testUnsampledSpan() {
    tracer = new Tracer.Builder("SamplerTest", reporter, new ConstSampler(false)).withMetrics(metrics).build();
    span = (Span) tracer.buildSpan("some-operation").startManual();
    when(mgr.getRestriction(SERVICE, KEY)).thenReturn(Restriction.of(true, 5));
    final String value = "value";
    SpanContext ctx = setter.setBaggage(span, KEY, value);
    assertEquals(value, ctx.getBaggageItem(KEY));
    // No logs should be written if the span is not sampled
    assertNull(span.getLogs());
}
Also used : SpanContext(com.uber.jaeger.SpanContext) Tracer(com.uber.jaeger.Tracer) ConstSampler(com.uber.jaeger.samplers.ConstSampler) Test(org.junit.Test)

Example 7 with Tracer

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

the class InMemoryMetricsFactoryTest method canBeUsedWithMetrics.

@Test
public void canBeUsedWithMetrics() {
    InMemoryMetricsFactory metricsFactory = new InMemoryMetricsFactory();
    Tracer tracer = new Tracer.Builder("metricsFactoryTest", new InMemoryReporter(), new ConstSampler(true)).withMetrics(new Metrics(metricsFactory)).build();
    tracer.buildSpan("theoperation").start();
    assertEquals(1, metricsFactory.getCounter("jaeger:started_spans", "sampled=y"));
    assertEquals(0, metricsFactory.getCounter("jaeger:started_spans", "sampled=n"));
    assertEquals(1, metricsFactory.getCounter("jaeger:traces", "sampled=y,state=started"));
    assertEquals(0, metricsFactory.getCounter("jaeger:traces", "sampled=n,state=started"));
}
Also used : InMemoryReporter(com.uber.jaeger.reporters.InMemoryReporter) Tracer(com.uber.jaeger.Tracer) ConstSampler(com.uber.jaeger.samplers.ConstSampler) Test(org.junit.Test)

Example 8 with Tracer

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

the class NoopMetricsFactoryTest method canBeUsedWithMetrics.

@Test
public void canBeUsedWithMetrics() {
    NoopMetricsFactory metricsFactory = new NoopMetricsFactory();
    Tracer tracer = new Tracer.Builder("metricsFactoryTest", new InMemoryReporter(), new ConstSampler(true)).withMetrics(new Metrics(metricsFactory)).build();
    tracer.buildSpan("theoperation").start();
}
Also used : InMemoryReporter(com.uber.jaeger.reporters.InMemoryReporter) Tracer(com.uber.jaeger.Tracer) ConstSampler(com.uber.jaeger.samplers.ConstSampler) Test(org.junit.Test)

Example 9 with Tracer

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

the class RemoteReporterTest method testFlushIsCalledOnSender.

@Test
public void testFlushIsCalledOnSender() throws InterruptedException {
    CountDownLatch latch = new CountDownLatch(1);
    Sender sender = new InMemorySender() {

        @Override
        public int flush() throws SenderException {
            latch.countDown();
            return super.flush();
        }
    };
    reporter = new RemoteReporter(sender, flushInterval, maxQueueSize, metrics);
    tracer = new Tracer.Builder("test-remote-reporter", reporter, new ConstSampler(true)).withMetrics(metrics).build();
    tracer.buildSpan("mySpan").start().finish();
    latch.await(1, TimeUnit.SECONDS);
    assertEquals("Should have called the custom sender flush", 0, latch.getCount());
}
Also used : Sender(com.uber.jaeger.senders.Sender) Tracer(com.uber.jaeger.Tracer) ConstSampler(com.uber.jaeger.samplers.ConstSampler) CountDownLatch(java.util.concurrent.CountDownLatch) Test(org.junit.Test)

Example 10 with Tracer

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

the class ThriftSpanConverterTest method testTracerTags.

@Test
@UseDataProvider("dataProviderTracerTags")
public void testTracerTags(SpanType spanType, Map<String, String> expectedTags) throws Exception {
    InMemoryReporter spanReporter = new InMemoryReporter();
    Tracer tracer = new Tracer.Builder("x", spanReporter, new ConstSampler(true)).withZipkinSharedRpcSpan().withTag("tag.str", "y").withTag("tag.bool", true).withTag("tag.num", 1).build();
    Span span = (Span) tracer.buildSpan("root").startManual();
    if (spanType == SpanType.CHILD) {
        span = (Span) tracer.buildSpan("child").asChildOf(span).startManual();
    } else if (spanType == SpanType.RPC_SERVER) {
        span = (Span) tracer.buildSpan("rpc-server").asChildOf(span).withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_SERVER).startManual();
    }
    com.twitter.zipkin.thriftjava.Span zipkinSpan = ThriftSpanConverter.convertSpan(span);
    List<BinaryAnnotation> annotations = zipkinSpan.getBinary_annotations();
    for (Map.Entry<String, String> entry : expectedTags.entrySet()) {
        String key = entry.getKey();
        Object expectedValue = entry.getValue();
        BinaryAnnotation anno = findBinaryAnnotation(annotations, key);
        if (expectedValue.equals(UNDEF)) {
            assertNull("Not expecting " + key + " for " + spanType, anno);
        } else if (expectedValue.equals(ANY)) {
            assertEquals(key, anno.getKey());
        } else {
            String actualValue = new String(anno.getValue(), StandardCharsets.UTF_8);
            assertEquals("Expecting " + key + " for " + spanType, expectedValue, actualValue);
        }
    }
}
Also used : InMemoryReporter(com.uber.jaeger.reporters.InMemoryReporter) Tracer(com.uber.jaeger.Tracer) Span(com.uber.jaeger.Span) BinaryAnnotation(com.twitter.zipkin.thriftjava.BinaryAnnotation) ConstSampler(com.uber.jaeger.samplers.ConstSampler) HashMap(java.util.HashMap) Map(java.util.Map) TextMap(io.opentracing.propagation.TextMap) TreeMap(java.util.TreeMap) Test(org.junit.Test) UseDataProvider(com.tngtech.java.junit.dataprovider.UseDataProvider)

Aggregations

Tracer (com.uber.jaeger.Tracer)14 ConstSampler (com.uber.jaeger.samplers.ConstSampler)12 InMemoryReporter (com.uber.jaeger.reporters.InMemoryReporter)7 Test (org.junit.Test)6 Metrics (com.uber.jaeger.metrics.Metrics)4 Before (org.junit.Before)3 UseDataProvider (com.tngtech.java.junit.dataprovider.UseDataProvider)2 Span (com.uber.jaeger.Span)2 SpanContext (com.uber.jaeger.SpanContext)2 InMemoryMetricsFactory (com.uber.jaeger.metrics.InMemoryMetricsFactory)2 NullStatsReporter (com.uber.jaeger.metrics.NullStatsReporter)2 StatsFactoryImpl (com.uber.jaeger.metrics.StatsFactoryImpl)2 RemoteReporter (com.uber.jaeger.reporters.RemoteReporter)2 HttpSender (com.uber.jaeger.senders.HttpSender)2 HashMap (java.util.HashMap)2 DataProvider (com.tngtech.java.junit.dataprovider.DataProvider)1 BinaryAnnotation (com.twitter.zipkin.thriftjava.BinaryAnnotation)1 Endpoint (com.twitter.zipkin.thriftjava.Endpoint)1 InMemoryStatsReporter (com.uber.jaeger.metrics.InMemoryStatsReporter)1 TextMapCodec (com.uber.jaeger.propagation.TextMapCodec)1