The ProvenanceAgent (effectively a singleton) currently instantiates a GlobalProvenanceTracker, which has several issues:
No way to map traced method invocations back to HTTP requests. A fundamental shortcoming that ThreadLocalProvenanceTracker was designed to solve.
If multiple requests are sent in quick succession, all but the last request's data are lost to the pickup servlet. This often happens when testing interactions with a real web app, where a single page load triggers further fetches for contained images, CSS, etc.
It's possible that ThreadLocalProvenanceTracker was in use originally, back when AspectJ was being used for instrumentation.
The
ProvenanceAgent
(effectively a singleton) currently instantiates aGlobalProvenanceTracker
, which has several issues:ThreadLocalProvenanceTracker
was designed to solve.It's possible that
ThreadLocalProvenanceTracker
was in use originally, back when AspectJ was being used for instrumentation.