Package ai.narrativetrace.servlet
Class NarrativeTraceFilter
java.lang.Object
ai.narrativetrace.servlet.NarrativeTraceFilter
- All Implemented Interfaces:
jakarta.servlet.Filter
Servlet filter for production request lifecycle trace capture.
Follows a reset-chain-capture-export-reset lifecycle on each HTTP request:
- Reset the narrative context (clear any stale state)
- Execute the filter chain (downstream code is traced via proxies/agent)
- Capture the accumulated trace tree
- Export via the configured
TraceExporter - Reset again (clean up)
This class has zero Spring dependencies — it works with any servlet container. For Spring
integration, use ai.narrativetrace.spring.web.NarrativeTraceWebConfiguration.
- See Also:
-
TraceExporterSlf4jTraceExporter
-
Constructor Summary
ConstructorsConstructorDescriptionNarrativeTraceFilter(ai.narrativetrace.core.context.NarrativeContext context, ai.narrativetrace.core.export.TraceExporter exporter) Creates a filter with the given context and exporter. -
Method Summary
Modifier and TypeMethodDescriptionvoiddoFilter(jakarta.servlet.ServletRequest request, jakarta.servlet.ServletResponse response, jakarta.servlet.FilterChain chain) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface jakarta.servlet.Filter
destroy, init
-
Constructor Details
-
NarrativeTraceFilter
public NarrativeTraceFilter(ai.narrativetrace.core.context.NarrativeContext context, ai.narrativetrace.core.export.TraceExporter exporter) Creates a filter with the given context and exporter.- Parameters:
context- the narrative context shared with tracing proxies/agentexporter- the exporter to send captured traces to
-
-
Method Details
-
doFilter
public void doFilter(jakarta.servlet.ServletRequest request, jakarta.servlet.ServletResponse response, jakarta.servlet.FilterChain chain) throws IOException, jakarta.servlet.ServletException - Specified by:
doFilterin interfacejakarta.servlet.Filter- Throws:
IOExceptionjakarta.servlet.ServletException
-