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 class
static class
Nested 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) void
afterConfiguration
(io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties configProperties) void
doFilter
(jakarta.servlet.ServletRequest servletRequest, jakarta.servlet.ServletResponse servletResponse, jakarta.servlet.FilterChain filterChain) boolean
int
hashCode()
void
void
setTracer
(io.jenkins.plugins.opentelemetry.api.ReconfigurableOpenTelemetry openTelemetry) Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface jakarta.servlet.Filter
destroy, init
Methods 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:
afterConfiguration
in 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:
doFilter
in interfacejakarta.servlet.Filter
- Throws:
IOException
jakarta.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:
IOException
jakarta.servlet.ServletException
-
equals
-
hashCode
public int hashCode() -
setTracer
@Inject public void setTracer(io.jenkins.plugins.opentelemetry.api.ReconfigurableOpenTelemetry openTelemetry)
-