protected Span startNewSpan(SpanContext parentSpan, String name) { Tracer.SpanBuilder spanBuilder = security.tracer().buildSpan(name); spanBuilder.asChildOf(parentSpan); return spanBuilder.start(); }
@Override public void filter(ContainerRequestContext request) { boolean closeParentSpan = false; SpanContext requestSpanContext = parentSpanContextProvider.get(); if (null == requestSpanContext) { closeParentSpan = true; Span requestSpan = security().tracer().buildSpan("security-parent").start(); request.setProperty(PROP_PARENT_SPAN, requestSpan); requestSpanContext = requestSpan.context(); } request.setProperty(PROP_CLOSE_PARENT_SPAN, closeParentSpan); // create a new security context SecurityContext securityContext = security() .contextBuilder(Integer.toString(CONTEXT_COUNTER.incrementAndGet(), Character.MAX_RADIX)) .tracingSpan(requestSpanContext) .executorService(executorService) .build(); injectionManager.<Ref<SecurityContext>>getInstance((new GenericType<Ref<SecurityContext>>() { }).getType()) .set(securityContext); if (featureConfig().shouldUsePrematchingAuthentication()) { doFilter(request, securityContext); } }
protected Span startNewSpan(SpanContext parentSpan, String name) { Tracer.SpanBuilder spanBuilder = security.tracer().buildSpan(name); spanBuilder.asChildOf(parentSpan); return spanBuilder.start(); }
@Override public void filter(ContainerRequestContext request) { boolean closeParentSpan = false; SpanContext requestSpanContext = parentSpanContextProvider.get(); if (null == requestSpanContext) { closeParentSpan = true; Span requestSpan = security().tracer().buildSpan("security-parent").start(); request.setProperty(PROP_PARENT_SPAN, requestSpan); requestSpanContext = requestSpan.context(); } request.setProperty(PROP_CLOSE_PARENT_SPAN, closeParentSpan); // create a new security context SecurityContext securityContext = security() .contextBuilder(Integer.toString(CONTEXT_COUNTER.incrementAndGet(), Character.MAX_RADIX)) .tracingSpan(requestSpanContext) .executorService(executorService) .build(); injectionManager.<Ref<SecurityContext>>getInstance((new GenericType<Ref<SecurityContext>>() { }).getType()) .set(securityContext); if (featureConfig().shouldUsePrematchingAuthentication()) { doFilter(request, securityContext); } }