@Bean public io.opentracing.Tracer tracer(Sampler sampler, Reporter reporter, Metrics metrics) { final JaegerTracer.Builder builder = new JaegerTracer.Builder(serviceName) .withReporter(reporter) .withSampler(sampler) .withMetrics(metrics); tracerCustomizers.forEach(c -> c.customize(builder)); return builder.build(); }
protected void registerCodec(JaegerTracer.Builder builder, Format<TextMap> format) { if (codecs.containsKey(format)) { List<Codec<TextMap>> codecsForFormat = codecs.get(format); Codec<TextMap> codec = codecsForFormat.size() == 1 ? codecsForFormat.get(0) : new CompositeCodec<TextMap>(codecsForFormat); builder.registerInjector(format, codec); builder.registerExtractor(format, codec); } } }
public JaegerTracer.Builder getTracerBuilder() { if (reporterConfig == null) { reporterConfig = new ReporterConfiguration(); } if (samplerConfig == null) { samplerConfig = new SamplerConfiguration(); } if (codecConfig == null) { codecConfig = new CodecConfiguration(); } if (metricsFactory == null) { metricsFactory = loadMetricsFactory(); } Metrics metrics = new Metrics(metricsFactory); Reporter reporter = reporterConfig.getReporter(metrics); Sampler sampler = samplerConfig.createSampler(serviceName, metrics); JaegerTracer.Builder builder = createTracerBuilder(serviceName) .withSampler(sampler) .withReporter(reporter) .withMetrics(metrics) .withTags(tracerTags); if (useTraceId128Bit) { builder = builder.withTraceId128Bit(); } codecConfig.apply(builder); return builder; }
protected Builder(String serviceName, JaegerObjectFactory objectFactory) { this.serviceName = checkValidServiceName(serviceName); this.objectFactory = objectFactory; TextMapCodec textMapCodec = TextMapCodec.builder() .withUrlEncoding(false) .withObjectFactory(this.objectFactory) .build(); this.registerInjector(Format.Builtin.TEXT_MAP, textMapCodec); this.registerExtractor(Format.Builtin.TEXT_MAP, textMapCodec); TextMapCodec httpCodec = TextMapCodec.builder() .withUrlEncoding(true) .withObjectFactory(this.objectFactory) .build(); this.registerInjector(Format.Builtin.HTTP_HEADERS, httpCodec); this.registerExtractor(Format.Builtin.HTTP_HEADERS, httpCodec); // TODO binary codec not implemented }
protected JaegerTracer.Builder createTracerBuilder(String serviceName) { return new JaegerTracer.Builder(serviceName); }
@Override public void customize(JaegerTracer.Builder builder) { B3TextMapCodec injector = new B3TextMapCodec(); builder.registerInjector(Format.Builtin.HTTP_HEADERS, injector) .registerExtractor(Format.Builtin.HTTP_HEADERS, injector); } }
public synchronized JaegerTracer getTracer() { if (tracer != null) { return tracer; } tracer = getTracerBuilder().build(); log.info("Initialized tracer={}", tracer); return tracer; }
@Override public Tracer getTracer(StagemonitorPlugin.InitArguments initArguments) { final B3TextMapCodec b3TextMapCodec = new B3TextMapCodec.Builder().build(); final JaegerTracer.Builder builder = new JaegerTracer.Builder( initArguments.getMeasurementSession().getApplicationName()) .withReporter(new NoopReporter()) .withSampler(new ConstSampler(true)) .registerInjector(B3HeaderFormat.INSTANCE, b3TextMapCodec) .registerInjector(Format.Builtin.HTTP_HEADERS, b3TextMapCodec) .registerExtractor(Format.Builtin.HTTP_HEADERS, b3TextMapCodec); return builder.build(); }
@Override public Tracer getTracer(StagemonitorPlugin.InitArguments initArguments) { final B3TextMapCodec b3TextMapCodec = new B3TextMapCodec.Builder().build(); final JaegerTracer.Builder builder = new JaegerTracer.Builder( initArguments.getMeasurementSession().getApplicationName()) .withReporter(new NoopReporter()) .withSampler(new ConstSampler(true)) .registerInjector(B3HeaderFormat.INSTANCE, b3TextMapCodec) .registerInjector(Format.Builtin.HTTP_HEADERS, b3TextMapCodec) .registerExtractor(Format.Builtin.HTTP_HEADERS, b3TextMapCodec); return builder.build(); }