-
@Component
-@Order(TraceWebServletAutoConfiguration.TRACING_FILTER_ORDER + 1)
-class MyFilter extends GenericFilterBean {
-
- private final Tracer tracer;
-
- MyFilter(Tracer tracer) {
- this.tracer = tracer;
- }
-
- @Override
- public void doFilter(ServletRequest request, ServletResponse response,
- FilterChain chain) throws IOException, ServletException {
- Span currentSpan = this.tracer.currentSpan();
- if (currentSpan == null) {
- chain.doFilter(request, response);
- return;
- }
- // for readability we're returning trace id in a hex form
- ((HttpServletResponse) response).addHeader("ZIPKIN-TRACE-ID",
- currentSpan.context().traceIdString());
- // we can also add some custom tags
- currentSpan.tag("custom", "tag");
- chain.doFilter(request, response);
- }
-
-}
+
Unresolved directive in spring-cloud-sleuth.adoc - include::../../..//spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/TraceFilterIntegrationTests.java[tags=response_headers,indent=0]