ExtraFieldExtractor(ExtraFieldPropagation<K> propagation, Getter<C, K> getter) { this.propagation = propagation; this.delegate = propagation.delegate.extractor(getter); this.getter = getter; }
GrpcExtractor(GrpcPropagation<K> propagation, Getter<C, K> getter) { this.delegate = propagation.delegate.extractor(getter); this.getter = getter; }
TracingServerInterceptor(GrpcTracing grpcTracing) { tracer = grpcTracing.tracing.tracer(); extractor = grpcTracing.propagation.extractor(GETTER); parser = grpcTracing.serverParser; grpcPropagationFormatEnabled = grpcTracing.grpcPropagationFormatEnabled; }
TracingJMSProducer(JMSProducer delegate, JmsTracing jmsTracing) { super(delegate, jmsTracing); this.extractor = jmsTracing.tracing.propagation().extractor(GETTER); }
KafkaStreamsTracing(Builder builder) { // intentionally hidden constructor this.tracing = builder.tracing; this.extractor = tracing.propagation().extractor(KafkaStreamsPropagation.GETTER); }
TraceContext.Extractor<HttpHeaders> extractor() { if (this.extractor == null) { this.extractor = this.beanFactory.getBean(HttpTracing.class).tracing() .propagation().extractor(GETTER); } return this.extractor; }
JmsTracing(Builder builder) { // intentionally hidden constructor this.tracing = builder.tracing; this.extractor = tracing.propagation().extractor(GETTER); this.remoteServiceName = builder.remoteServiceName; this.propagationKeys = new LinkedHashSet<>(tracing.propagation().keys()); }
/** * Creates a new instance. */ public HttpTracingService(Service<HttpRequest, HttpResponse> delegate, Tracing tracing) { super(delegate); tracer = tracing.tracer(); extractor = tracing.propagationFactory().create(AsciiStringKeyFactory.INSTANCE) .extractor(HttpHeaders::get); }
void verifyRoundTrip(TraceContextOrSamplingFlags expected) { TraceContextOrSamplingFlags extracted = propagation.extractor(mapEntry).extract(map); assertThat(extracted) .isEqualTo(expected); Map<K, String> injected = new LinkedHashMap<>(); if (expected.context() != null) { propagation.injector(mapEntry).inject(expected.context(), injected); } else { inject(injected, expected.samplingFlags()); } assertThat(map).isEqualTo(injected); }
TracingChannelInterceptor(Tracing tracing, Propagation.Setter<MessageHeaderAccessor, String> setter, Propagation.Getter<MessageHeaderAccessor, String> getter) { this.tracing = tracing; this.tracer = tracing.tracer(); this.threadLocalSpan = ThreadLocalSpan.create(this.tracer); this.injector = tracing.propagation().injector(setter); this.extractor = tracing.propagation().extractor(getter); this.integrationObjectSupportPresent = ClassUtils.isPresent( "org.springframework.integration.context.IntegrationObjectSupport", null); this.hasDirectChannelClass = ClassUtils .isPresent("org.springframework.integration.channel.DirectChannel", null); this.directWithAttributesChannelClass = ClassUtils .isPresent(STREAM_DIRECT_CHANNEL, null) ? ClassUtils.resolveClassName(STREAM_DIRECT_CHANNEL, null) : null; }
@Inject TracingApplicationEventListener(HttpTracing httpTracing, EventParser parser) { tracer = httpTracing.tracing().tracer(); serverHandler = HttpServerHandler.create(httpTracing, new Adapter()); extractor = httpTracing.tracing().propagation().extractor(GETTER); this.parser = parser; }
/** * {@link ExtensionLoader} supplies the tracing implementation which must be named "tracing". For * example, if using the {@link SpringExtensionFactory}, only a bean named "tracing" will be * injected. */ public void setTracing(Tracing tracing) { tracer = tracing.tracer(); extractor = tracing.propagation().extractor(GETTER); injector = tracing.propagation().injector(SETTER); }
SparkTracing(HttpTracing httpTracing) { // intentionally hidden constructor tracer = httpTracing.tracing().tracer(); handler = HttpServerHandler.create(httpTracing, ADAPTER); extractor = httpTracing.tracing().propagation().extractor(Request::headers); }
KafkaTracing(Builder builder) { // intentionally hidden constructor this.tracing = builder.tracing; this.extractor = tracing.propagation().extractor(KafkaPropagation.GETTER); List<String> keyList = builder.tracing.propagation().keys(); // Use a more efficient injector if we are only propagating a single header if (builder.writeB3SingleFormat || keyList.equals(Propagation.B3_SINGLE_STRING.keys())) { TraceContext testExtraction = extractor.extract(B3_SINGLE_TEST_HEADERS).context(); if (!TEST_CONTEXT.equals(testExtraction)) { throw new IllegalArgumentException( "KafkaTracing.Builder.writeB3SingleFormat set, but Tracing.Builder.propagationFactory cannot parse this format!"); } this.injector = KafkaPropagation.B3_SINGLE_INJECTOR; } else { this.injector = tracing.propagation().injector(KafkaPropagation.SETTER); } this.propagationKeys = new LinkedHashSet<>(keyList); this.remoteServiceName = builder.remoteServiceName; }
SpringRabbitTracing(Builder builder) { // intentionally hidden constructor this.tracing = builder.tracing; this.extractor = tracing.propagation().extractor(SpringRabbitPropagation.GETTER); List<String> keyList = builder.tracing.propagation().keys(); // Use a more efficient injector if we are only propagating a single header if (builder.writeB3SingleFormat || keyList.equals(Propagation.B3_SINGLE_STRING.keys())) { TraceContext testExtraction = extractor.extract(B3_SINGLE_TEST_HEADERS).context(); if (!TEST_CONTEXT.equals(testExtraction)) { throw new IllegalArgumentException( "SpringRabbitTracing.Builder.writeB3SingleFormat set, but Tracing.Builder.propagationFactory cannot parse this format!"); } this.injector = SpringRabbitPropagation.B3_SINGLE_INJECTOR; } else { this.injector = tracing.propagation().injector(SpringRabbitPropagation.SETTER); } this.propagationKeys = keyList; this.remoteServiceName = builder.remoteServiceName; Field beforePublishPostProcessorsField = null; try { beforePublishPostProcessorsField = RabbitTemplate.class.getDeclaredField("beforePublishPostProcessors"); beforePublishPostProcessorsField.setAccessible(true); } catch (NoSuchFieldException e) { } this.beforePublishPostProcessorsField = beforePublishPostProcessorsField; }
@Override public void accept(Propagation<?> propagation) { TraceContext.Injector<Map<Object, String>> injector = propagation.injector(Map::put); TraceContext.Extractor<Map<Object, String>> extractor = propagation.extractor(Map::get); TraceContext ctx = TraceContext.newBuilder().traceId(1L).spanId(2L).sampled(false).build(); Map<Object, String> map = new LinkedHashMap<>(); injector.inject(ctx, map); assertThat(extractor.extract(map).context()) .isEqualToIgnoringGivenFields(ctx, "traceIdString", "spanIdString"); } }
TracingRoutingContextHandler(HttpTracing httpTracing) { tracer = httpTracing.tracing().tracer(); serverHandler = HttpServerHandler.create(httpTracing, new VertxHttpServerAdapter()); extractor = httpTracing.tracing().propagation().extractor(GETTER); }
TracingFilter(HttpTracing httpTracing) { tracer = httpTracing.tracing().tracer(); currentTraceContext = httpTracing.tracing().currentTraceContext(); handler = HttpServerHandler.create(httpTracing, ADAPTER); extractor = httpTracing.tracing().propagation().extractor(GETTER); }
TracingHttpServerHandler(HttpTracing httpTracing) { tracer = httpTracing.tracing().tracer(); sampler = httpTracing.serverSampler(); parser = httpTracing.serverParser(); adapter = new HttpNettyAdapter(); extractor = httpTracing.tracing().propagation().extractor(GETTER); }
@SuppressWarnings("unchecked") ZipkinProviderDelegate(HttpTracing httpTracing) { this.httpTracing = httpTracing; this.extractor = httpTracing.tracing().propagation().extractor(extractor()); this.handler = HttpServerHandler.create(httpTracing, new ProviderInvocationAdapter()); }