Search in sources :

Example 1 with Tracer

use of io.opentracing.Tracer in project jaeger-client-java by jaegertracing.

the class TracingRequestInterceptorTest method testProcessNullScope.

@Test
public void testProcessNullScope() throws Exception {
    ScopeManager mockScopeManager = Mockito.mock(ScopeManager.class);
    when(mockScopeManager.active()).thenReturn(null);
    Tracer mockTracer = Mockito.mock(Tracer.class);
    when(mockTracer.scopeManager()).thenReturn(mockScopeManager);
    HttpRequestInterceptor interceptor = new TracingRequestInterceptor(mockTracer);
    PowerMockito.spy(interceptor);
    HttpRequest mockRequest = Mockito.mock(HttpRequest.class);
    HttpContext mockContext = Mockito.mock(HttpContext.class);
    interceptor.process(mockRequest, mockContext);
    PowerMockito.verifyPrivate(interceptor, times(0)).invoke("onSpanStarted", any(Span.class), mockRequest, mockContext);
}
Also used : HttpRequest(org.apache.http.HttpRequest) ScopeManager(io.opentracing.ScopeManager) Tracer(io.opentracing.Tracer) HttpRequestInterceptor(org.apache.http.HttpRequestInterceptor) HttpContext(org.apache.http.protocol.HttpContext) Span(io.opentracing.Span) Test(org.junit.Test) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest)

Example 2 with Tracer

use of io.opentracing.Tracer in project jaeger-client-java by jaegertracing.

the class JaegerTracerResolverTest method testResolveTracerDefault.

@Test
public void testResolveTracerDefault() {
    System.setProperty(Configuration.JAEGER_SERVICE_NAME, "MyService");
    Tracer tracer = TracerResolver.resolveTracer();
    assertNotNull(tracer);
    assertTrue(tracer instanceof com.uber.jaeger.Tracer);
}
Also used : Tracer(io.opentracing.Tracer) Test(org.junit.Test)

Example 3 with Tracer

use of io.opentracing.Tracer in project jaeger-client-java by jaegertracing.

the class EndToEndBehavior method getRemoteTracer.

private Tracer getRemoteTracer(Metrics metrics, Reporter reporter, String serviceName, String samplingHostPort) {
    Sampler initialSampler = new ProbabilisticSampler(1.0);
    HttpSamplingManager manager = new HttpSamplingManager(samplingHostPort);
    RemoteControlledSampler remoteSampler = new RemoteControlledSampler(serviceName, manager, initialSampler, metrics, 5000);
    com.uber.jaeger.Tracer.Builder remoteTracerBuilder = new com.uber.jaeger.Tracer.Builder(serviceName, reporter, remoteSampler);
    return remoteTracerBuilder.build();
}
Also used : HttpSamplingManager(com.uber.jaeger.samplers.HttpSamplingManager) Tracer(io.opentracing.Tracer) RemoteControlledSampler(com.uber.jaeger.samplers.RemoteControlledSampler) Sampler(com.uber.jaeger.samplers.Sampler) ConstSampler(com.uber.jaeger.samplers.ConstSampler) ProbabilisticSampler(com.uber.jaeger.samplers.ProbabilisticSampler) ProbabilisticSampler(com.uber.jaeger.samplers.ProbabilisticSampler) RemoteControlledSampler(com.uber.jaeger.samplers.RemoteControlledSampler)

Example 4 with Tracer

use of io.opentracing.Tracer in project ballerina by ballerina-lang.

the class OpenTracerManager method inject.

@Override
public Map<String, String> inject(Map<String, ?> activeSpanMap, String serviceName) {
    Map<String, String> carrierMap = new HashMap<>();
    for (Map.Entry<String, ?> activeSpanEntry : activeSpanMap.entrySet()) {
        Map<String, Tracer> tracers = tracerStore.getTracers(serviceName);
        Tracer tracer = tracers.get(activeSpanEntry.getKey());
        if (tracer != null) {
            Span span = (Span) activeSpanEntry.getValue();
            if (span != null) {
                tracer.inject(span.context(), Format.Builtin.HTTP_HEADERS, new RequestInjector(carrierMap));
            }
        }
    }
    return carrierMap;
}
Also used : HashMap(java.util.HashMap) Tracer(io.opentracing.Tracer) Map(java.util.Map) HashMap(java.util.HashMap) Span(io.opentracing.Span)

Example 5 with Tracer

use of io.opentracing.Tracer in project ballerina by ballerina-lang.

the class TracersStore method getTracers.

/**
 * Return trace implementations for a specific service
 *
 * @param serviceName name of service of whose trace implementations are needed
 * @return trace implementations i.e: zipkin, jaeger
 */
Map<String, Tracer> getTracers(String serviceName) {
    if (tracerStore.containsKey(serviceName)) {
        return tracerStore.get(serviceName);
    } else {
        Map<String, Tracer> tracerMap = new HashMap<>();
        for (TracerGenerator tracerGenerator : tracers) {
            try {
                Tracer tracer = tracerGenerator.generate(serviceName);
                tracerMap.put(tracerGenerator.name, tracer);
            } catch (Throwable ignored) {
            // Tracers will get added only of there's no errors.
            // If tracers contains errors, tracer will be ignored.
            }
        }
        tracerStore.put(serviceName, tracerMap);
        return tracerMap;
    }
}
Also used : HashMap(java.util.HashMap) Tracer(io.opentracing.Tracer)

Aggregations

Tracer (io.opentracing.Tracer)104 Span (io.opentracing.Span)49 SpanContext (io.opentracing.SpanContext)30 Map (java.util.Map)21 Vertx (io.vertx.core.Vertx)19 HashMap (java.util.HashMap)19 Test (org.junit.Test)19 BeforeEach (org.junit.jupiter.api.BeforeEach)19 Test (org.junit.jupiter.api.Test)19 Future (io.vertx.core.Future)18 Buffer (io.vertx.core.buffer.Buffer)16 HttpURLConnection (java.net.HttpURLConnection)14 EventBus (io.vertx.core.eventbus.EventBus)13 JsonObject (io.vertx.core.json.JsonObject)12 Objects (java.util.Objects)12 Logger (org.slf4j.Logger)11 LoggerFactory (org.slf4j.LoggerFactory)11 Tags (io.opentracing.tag.Tags)9 Scope (io.opentracing.Scope)8 GlobalTracer (io.opentracing.util.GlobalTracer)8