ExtraFieldInjector(ExtraFieldPropagation<K> propagation, Setter<C, K> setter) { this.propagation = propagation; this.delegate = propagation.delegate.injector(setter); this.setter = setter; }
GrpcInjector(GrpcPropagation<K> propagation, Setter<C, K> setter) { this.delegate = propagation.delegate.injector(setter); this.setter = setter; }
TracingClientInterceptor(GrpcTracing grpcTracing) { tracer = grpcTracing.tracing.tracer(); injector = grpcTracing.propagation.injector(SETTER); parser = grpcTracing.clientParser; }
TraceContext.Injector<ClientRequest.Builder> injector() { if (this.injector == null) { this.injector = this.beanFactory.getBean(HttpTracing.class).tracing() .propagation().injector(SETTER); } return this.injector; }
/** * Creates a new instance. */ protected HttpTracingClient(Client<HttpRequest, HttpResponse> delegate, Tracing tracing, @Nullable String remoteServiceName) { super(delegate); tracer = tracing.tracer(); injector = tracing.propagationFactory().create(AsciiStringKeyFactory.INSTANCE) .injector(HttpHeaders::set); this.remoteServiceName = remoteServiceName; }
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); }
@Inject TracingClientFilter(HttpTracing httpTracing) { if (httpTracing == null) throw new NullPointerException("HttpTracing == null"); tracer = httpTracing.tracing().tracer(); handler = HttpClientHandler.create(httpTracing, new HttpAdapter()); injector = httpTracing.tracing().propagation().injector(SETTER); }
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; }
/** * {@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); }
@Autowired TracingAsyncClientHttpRequestInterceptor(HttpTracing httpTracing) { tracer = httpTracing.tracing().tracer(); handler = HttpClientHandler.create(httpTracing, new HttpAdapter()); injector = httpTracing.tracing().propagation().injector(SETTER); }
TracingHttpAsyncClientBuilder(HttpTracing httpTracing) { // intentionally hidden if (httpTracing == null) throw new NullPointerException("httpTracing == null"); this.currentTraceContext = httpTracing.tracing().currentTraceContext(); this.handler = HttpClientHandler.create(httpTracing, new HttpAdapter()); this.injector = httpTracing.tracing().propagation().injector(SETTER); }
@Autowired TracingClientHttpRequestInterceptor(HttpTracing httpTracing) { tracer = httpTracing.tracing().tracer(); handler = HttpClientHandler.create(httpTracing, new HttpAdapter()); injector = httpTracing.tracing().propagation().injector(SETTER); }
TracingInterceptor(HttpTracing httpTracing) { if (httpTracing == null) throw new NullPointerException("HttpTracing == null"); tracer = httpTracing.tracing().tracer(); remoteServiceName = httpTracing.serverName(); handler = HttpClientHandler.create(httpTracing, new HttpAdapter()); injector = httpTracing.tracing().propagation().injector(SETTER); }
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"); } }
TracingDoOnRequest(HttpTracing httpTracing) { this.tracer = httpTracing.tracing().tracer(); this.handler = HttpClientHandler.create(httpTracing, new HttpAdapter()); this.propagation = httpTracing.tracing().propagation(); this.injector = this.propagation.injector(SETTER); this.httpTracing = httpTracing; }
TracingMainExec(HttpTracing httpTracing, ClientExecChain mainExec) { this.tracer = httpTracing.tracing().tracer(); this.handler = HttpClientHandler.create(httpTracing, new HttpAdapter()); this.injector = httpTracing.tracing().propagation().injector(SETTER); this.mainExec = mainExec; }
TracingFeignClient(HttpTracing httpTracing, Client delegate) { this.tracer = httpTracing.tracing().tracer(); this.handler = HttpClientHandler.create(httpTracing, new HttpAdapter()); this.injector = httpTracing.tracing().propagation().injector(SETTER); this.delegate = delegate; }
AbstractHttpHeadersFilter(HttpTracing httpTracing) { this.tracer = httpTracing.tracing().tracer(); this.handler = HttpClientHandler.create(httpTracing, new ServerHttpAdapter()); this.injector = httpTracing.tracing().propagation().injector(SETTER); this.httpTracing = httpTracing; }