Class StaplerInstrumentationServletFilter
java.lang.Object
io.jenkins.plugins.opentelemetry.servlet.StaplerInstrumentationServletFilter
- All Implemented Interfaces:
ExtensionPoint,io.jenkins.plugins.opentelemetry.api.OpenTelemetryLifecycleListener,jakarta.servlet.Filter,Comparable<io.jenkins.plugins.opentelemetry.api.OpenTelemetryLifecycleListener>
@Extension
public class StaplerInstrumentationServletFilter
extends Object
implements jakarta.servlet.Filter, io.jenkins.plugins.opentelemetry.api.OpenTelemetryLifecycleListener
Instrumentation of the Stapler MVC framework.
Must be a
Filter rather than a HttpServletFilter because it must wrap the invocation of the FilterChain to create a Span.
TODO find a smarter way to instrument each HTTP request path. It should rely on instrumenting the Stapler framework
TODO adopt StaplerRequest2.html#getAncestors()-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classNested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid_doFilter(jakarta.servlet.http.HttpServletRequest servletRequest, jakarta.servlet.http.HttpServletResponse servletResponse, jakarta.servlet.FilterChain filterChain) voidafterConfiguration(io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties configProperties) voiddoFilter(jakarta.servlet.ServletRequest servletRequest, jakarta.servlet.ServletResponse servletResponse, jakarta.servlet.FilterChain filterChain) booleaninthashCode()voidvoidsetTracer(io.jenkins.plugins.opentelemetry.api.ReconfigurableOpenTelemetry openTelemetry) Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface jakarta.servlet.Filter
destroy, initMethods inherited from interface io.jenkins.plugins.opentelemetry.api.OpenTelemetryLifecycleListener
compareTo, ordinal
-
Constructor Details
-
StaplerInstrumentationServletFilter
public StaplerInstrumentationServletFilter()
-
-
Method Details
-
postConstruct
@PostConstruct public void postConstruct() -
afterConfiguration
public void afterConfiguration(io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties configProperties) - Specified by:
afterConfigurationin interfaceio.jenkins.plugins.opentelemetry.api.OpenTelemetryLifecycleListener
-
doFilter
public void doFilter(jakarta.servlet.ServletRequest servletRequest, jakarta.servlet.ServletResponse servletResponse, jakarta.servlet.FilterChain filterChain) throws IOException, jakarta.servlet.ServletException - Specified by:
doFilterin interfacejakarta.servlet.Filter- Throws:
IOExceptionjakarta.servlet.ServletException
-
_doFilter
public void _doFilter(jakarta.servlet.http.HttpServletRequest servletRequest, jakarta.servlet.http.HttpServletResponse servletResponse, jakarta.servlet.FilterChain filterChain) throws IOException, jakarta.servlet.ServletException - Throws:
IOExceptionjakarta.servlet.ServletException
-
equals
-
hashCode
public int hashCode() -
setTracer
@Inject public void setTracer(io.jenkins.plugins.opentelemetry.api.ReconfigurableOpenTelemetry openTelemetry)
-