Class ServletFilterHeaderSpanDecorator
- java.lang.Object
-
- io.smallrye.opentracing.contrib.web.servlet.filter.decorator.ServletFilterHeaderSpanDecorator
-
- All Implemented Interfaces:
ServletFilterSpanDecorator
public class ServletFilterHeaderSpanDecorator extends Object implements ServletFilterSpanDecorator
ServletFilterHeaderSpanDecorator will decorate the span based on incoming HTTP headers. Incoming are compared to the list ofallowedHeaders, if the header is part of the provided list, they will be added asStringTag. The tag format will be a concatenation ofprefixandServletFilterHeaderSpanDecorator.HeaderEntry.tag
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classServletFilterHeaderSpanDecorator.HeaderEntryHeaderEntry is used to configureServletFilterHeaderSpanDecoratorServletFilterHeaderSpanDecorator.HeaderEntry.headeris used to check if the header exists usingHttpServletRequest.getHeader(String)ServletFilterHeaderSpanDecorator.HeaderEntry.tagwill be used as aStringTagifServletFilterHeaderSpanDecorator.HeaderEntry.headeris found on the incoming request
-
Field Summary
-
Fields inherited from interface io.smallrye.opentracing.contrib.web.servlet.filter.ServletFilterSpanDecorator
STANDARD_TAGS
-
-
Constructor Summary
Constructors Constructor Description ServletFilterHeaderSpanDecorator(List<ServletFilterHeaderSpanDecorator.HeaderEntry> allowedHeaders)Constructor of ServletFilterHeaderSpanDecorator with a default prefix of "http.header."ServletFilterHeaderSpanDecorator(List<ServletFilterHeaderSpanDecorator.HeaderEntry> allowedHeaders, String prefix)Constructor of ServletFilterHeaderSpanDecorator
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<ServletFilterHeaderSpanDecorator.HeaderEntry>getAllowedHeaders()StringgetPrefix()voidonError(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.servlet.http.HttpServletResponse httpServletResponse, Throwable exception, io.opentracing.Span span)Decorate span when an exception is thrown during processing inFilter.doFilter(ServletRequest, ServletResponse, FilterChain).voidonRequest(jakarta.servlet.http.HttpServletRequest httpServletRequest, io.opentracing.Span span)Decorate span beforeFilter.doFilter(ServletRequest, ServletResponse, FilterChain)is called.voidonResponse(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.servlet.http.HttpServletResponse httpServletResponse, io.opentracing.Span span)Decorate span afterFilter.doFilter(ServletRequest, ServletResponse, FilterChain).voidonTimeout(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.servlet.http.HttpServletResponse httpServletResponse, long timeout, io.opentracing.Span span)Decorate span on asynchronous request timeout.
-
-
-
Constructor Detail
-
ServletFilterHeaderSpanDecorator
public ServletFilterHeaderSpanDecorator(List<ServletFilterHeaderSpanDecorator.HeaderEntry> allowedHeaders)
Constructor of ServletFilterHeaderSpanDecorator with a default prefix of "http.header."- Parameters:
allowedHeaders- list ofServletFilterHeaderSpanDecorator.HeaderEntryto extract from the incoming request
-
ServletFilterHeaderSpanDecorator
public ServletFilterHeaderSpanDecorator(List<ServletFilterHeaderSpanDecorator.HeaderEntry> allowedHeaders, String prefix)
Constructor of ServletFilterHeaderSpanDecorator- Parameters:
allowedHeaders- list ofServletFilterHeaderSpanDecorator.HeaderEntryto extract from the incoming requestprefix- the prefix to prepend on each @StringTag. Can be null is not prefix is desired
-
-
Method Detail
-
onRequest
public void onRequest(jakarta.servlet.http.HttpServletRequest httpServletRequest, io.opentracing.Span span)Description copied from interface:ServletFilterSpanDecoratorDecorate span beforeFilter.doFilter(ServletRequest, ServletResponse, FilterChain)is called. This is called right after span in created. Span is already present in request attributes with nameTracingFilter.SERVER_SPAN_CONTEXT.- Specified by:
onRequestin interfaceServletFilterSpanDecorator- Parameters:
httpServletRequest- requestspan- span to decorate
-
onResponse
public void onResponse(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.servlet.http.HttpServletResponse httpServletResponse, io.opentracing.Span span)Description copied from interface:ServletFilterSpanDecoratorDecorate span afterFilter.doFilter(ServletRequest, ServletResponse, FilterChain). When it is an async request this will be called inAsyncListener.onComplete(AsyncEvent).- Specified by:
onResponsein interfaceServletFilterSpanDecorator- Parameters:
httpServletRequest- requesthttpServletResponse- responsespan- span to decorate
-
onError
public void onError(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.servlet.http.HttpServletResponse httpServletResponse, Throwable exception, io.opentracing.Span span)Description copied from interface:ServletFilterSpanDecoratorDecorate span when an exception is thrown during processing inFilter.doFilter(ServletRequest, ServletResponse, FilterChain). This is also called inAsyncListener.onError(AsyncEvent).- Specified by:
onErrorin interfaceServletFilterSpanDecorator- Parameters:
httpServletRequest- requestexception- exceptionspan- span to decorate
-
onTimeout
public void onTimeout(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.servlet.http.HttpServletResponse httpServletResponse, long timeout, io.opentracing.Span span)Description copied from interface:ServletFilterSpanDecoratorDecorate span on asynchronous request timeout. It is called inAsyncListener.onTimeout(AsyncEvent).- Specified by:
onTimeoutin interfaceServletFilterSpanDecorator- Parameters:
httpServletRequest- requesthttpServletResponse- responsetimeout- timeoutspan- span to decorate
-
getPrefix
public String getPrefix()
-
getAllowedHeaders
public List<ServletFilterHeaderSpanDecorator.HeaderEntry> getAllowedHeaders()
-
-