/** * Initialize sharding tracer. * * @param tracer opentracing tracer */ public static void init(final Tracer tracer) { if (!GlobalTracer.isRegistered()) { GlobalTracer.register(tracer); } }
/** * Build and register as a global tracer. * * @return The {@link Tracer} built and registered */ default Tracer buildAndRegister() { Tracer result = build(); GlobalTracer.register(result); return result; } }
public static void override(Tracer tracer) { resetGlobalTracer(); GlobalTracer.register(tracer); } }
@Override public void initializePlugin(final StagemonitorPlugin.InitArguments initArguments) { corePlugin = initArguments.getPlugin(CorePlugin.class); corePlugin.getGrafanaClient().sendGrafanaDashboardAsync("grafana/ElasticsearchRequestDashboard.json"); final Metric2Registry metricRegistry = initArguments.getMetricRegistry(); tracerFactory = getTracerImpl(); final Tracer tracer = tracerFactory.getTracer(initArguments); reportingSpanEventListener = new ReportingSpanEventListener(initArguments.getConfiguration()); for (SpanReporter spanReporter : ServiceLoader.load(SpanReporter.class, RequestMonitor.class.getClassLoader())) { addReporter(spanReporter); } samplePriorityDeterminingSpanInterceptor = new SamplePriorityDeterminingSpanEventListener(initArguments.getConfiguration()); final ServiceLoader<SpanEventListenerFactory> factories = ServiceLoader.load(SpanEventListenerFactory.class, TracingPlugin.class.getClassLoader()); this.spanWrappingTracer = createSpanWrappingTracer(tracer, initArguments.getConfiguration(), metricRegistry, factories, samplePriorityDeterminingSpanInterceptor, reportingSpanEventListener); GlobalTracer.register(spanWrappingTracer); }
/** * Configures Jaeger tracer as the {@link GlobalTracer}. */ private static void prepare() { GlobalTracer.register( new com.uber.jaeger.Configuration( "OpenTracingTemporaryTest", new Configuration.SamplerConfiguration("const", 1), new Configuration.ReporterConfiguration( true, "localhost", 5775, 1000, 10000) ).getTracer() ); }
@Before public void setUp() throws Exception { GlobalTracerTestHelper.resetGlobalTracer(); tracingPlugin = spy(new TracingPlugin()); doReturn(true).when(tracingPlugin).isRoot(any()); configuration = ConfigurationRegistry.builder() .addOptionProvider(tracingPlugin) .addConfigSource(new SimpleSource()) .build(); final Tracer tracer = mock(Tracer.class); GlobalTracer.register(tracer); spanContext = mock(SpanContextInformation.class); when(spanContext.getSpanWrapper()).thenReturn(mock(SpanWrapper.class)); context = new PreExecutionInterceptorContext(spanContext); interceptor = new RateLimitingPreExecutionInterceptor(); interceptor.init(configuration); }
new SamplePriorityDeterminingSpanEventListener(configuration), reportingSpanEventListener); GlobalTracerTestHelper.resetGlobalTracer(); GlobalTracer.register(tracer); when(tracingPlugin.getTracer()).thenReturn(tracer);
@Before public void setUp() throws Exception { GlobalTracerTestHelper.resetGlobalTracer(); tracingPlugin = spy(new TracingPlugin()); doReturn(true).when(tracingPlugin).isRoot(any()); configuration = ConfigurationRegistry.builder() .addOptionProvider(tracingPlugin) .addConfigSource(new SimpleSource()) .build(); final Tracer tracer = mock(Tracer.class); GlobalTracer.register(tracer); spanContext = mock(SpanContextInformation.class); when(spanContext.getSpanWrapper()).thenReturn(mock(SpanWrapper.class)); context = new PreExecutionInterceptorContext(spanContext); interceptor = new ProbabilisticSamplingPreExecutionInterceptor(); interceptor.init(configuration); }
@PostConstruct public void registerToGlobalTracer() { /** * Tracer registered in GlobalTracer should be the same as the tracer bean. * There can be {@link org.springframework.beans.factory.config.BeanPostProcessor}'s which * alters tracer bean, therefore tracer registered to GlobalTracer should be autowired. */ if (!GlobalTracer.isRegistered()) { GlobalTracer.register(tracer); } }
/** * Initialize sharding tracer. * * @param tracer opentracing tracer */ public static void init(final Tracer tracer) { if (!GlobalTracer.isRegistered()) { GlobalTracer.register(tracer); } }
@BeforeClass public static void initClass() throws Exception { GlobalTracer.register(tracer); }
@Override public Tracer get() { // Lookup the tracer from the available plugins final Tracer tracer = Optional.ofNullable(tracerPluginMap.get(tracingSystem)) .map(tracerPlugin -> tracerPlugin.createTracer(tracerTagMap)) .orElseThrow(() -> new ConfigException.BadValue("tracing.system", "No Tracing plugin found for : " + tracingSystem)); // Register the tracer as the global tracer GlobalTracer.register(tracer); return tracer; } }
@Override public void contextInitialized(ServletContextEvent sce) { ServletContext servletContext = sce.getServletContext(); String skipParameter = servletContext.getInitParameter("skipOpenTracingResolver"); if (skipParameter != null && Boolean.parseBoolean(skipParameter)) { logger.info("Skipping the OpenTracing TracerResolver. " + "Your application is expected to set a tracer to GlobalTracer explicitly."); return; } if (GlobalTracer.isRegistered()) { logger.info("A Tracer is already registered at the GlobalTracer. Skipping resolution via TraceResolver."); } Tracer tracer = TracerResolver.resolveTracer(); if (tracer != null) { logger.info(String.format("Registering resolved tracer %s to GlobalTracer.", tracer.getClass().getCanonicalName())); GlobalTracer.register(tracer); } else { logger.info("No Tracerresolver found on classpath!"); } }
/** * Resolves tracer instance to be used. It is using {@link TracerResolver} service loader to find * the tracer. It tracer is not resolved it will use {@link io.opentracing.noop.NoopTracer}. * * @return tracer instance */ @Default @Produces @Singleton public Tracer produceTracer() { // TCK casts to MockTracer so we cannot use GlobalTracer as a bean! Tracer tracer = TracerResolver.resolveTracer(); if (tracer == null) { tracer = GlobalTracer.get(); } logger.info(String.format("Registering %s to GlobalTracer and providing it as CDI bean.", tracer)); GlobalTracer.register(tracer); return tracer; } }
@Override public Tracer getTracer(String serviceName) { boolean LogEnabled = Boolean.valueOf(configuration.getFirstProperty(TracingConstants.LOG_ENABLED)); if (LogEnabled) { Tracer tracer = NoopTracerFactory.create(); Reporter reporter = new TracingReporter(LogFactory.getLog(TracingConstants.TRACER)); Tracer tracerR = new TracerR(tracer, reporter, new ThreadLocalScopeManager()); GlobalTracer.register(tracerR); return tracerR; } return null; }
private void initTracer() { GlobalTracer.register( new Configuration( _settings.getServiceName(), new SamplerConfiguration(ConstSampler.TYPE, 1), new ReporterConfiguration( false, _settings.getTracingAgentHost(), _settings.getTracingAgentPort(), /* flush interval in ms */ 1000, /* max buffered Spans */ 10000)) .getTracer()); }
private void initTracer() { GlobalTracer.register( new com.uber.jaeger.Configuration( _settings.getServiceName(), new SamplerConfiguration(ConstSampler.TYPE, 1), new ReporterConfiguration( false, _settings.getTracingAgentHost(), _settings.getTracingAgentPort(), /* flush interval in ms */ 1000, /* max buffered Spans */ 10000)) .getTracer()); }
private static void initTracer() { GlobalTracer.register( new com.uber.jaeger.Configuration( _mainSettings.getServiceName(), new SamplerConfiguration(ConstSampler.TYPE, 1), new ReporterConfiguration( false, _mainSettings.getTracingAgentHost(), _mainSettings.getTracingAgentPort(), /* flush interval in ms */ 1000, /* max buffered Spans */ 10000)) .getTracer()); }
private static void initTracer() { GlobalTracer.register( new Configuration( _settings.getServiceName(), new SamplerConfiguration(ConstSampler.TYPE, 1), new ReporterConfiguration( false, _settings.getTracingAgentHost(), _settings.getTracingAgentPort(), /* flush interval in ms */ 1000, /* max buffered Spans */ 10000)) .getTracer()); }
protected void run() { final Tracer tracer = new Configuration("book-store") .withSampler(new SamplerConfiguration().withType(ConstSampler.TYPE).withParam(1)) .withReporter(new ReporterConfiguration().withSender( new SenderConfiguration() { @Override public Sender getSender() { return new TestSender(); } } )) .getTracer(); GlobalTracer.register(tracer); final JaxWsServerFactoryBean sf = new JaxWsServerFactoryBean(); sf.setServiceClass(BookStore.class); sf.setAddress("http://localhost:" + PORT); sf.getFeatures().add(new OpenTracingFeature(tracer)); sf.create(); } }