Decoupled TraceableEventDispatcher from the Profiler #9170
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR removes the Profiler dependency on the TraceableEventDispatcher. That makes things more decoupled and cleaner. This PR also cleans up how profiles are stored; a Profile is now always stored only once.
I've created a
LateDataCollectorInterface
that is implemented for data collector that needs to get information from data that are available very late in the request process (when the request and the response are not even available anymore). ThelateCollect()
method is called just before the profile is stored.We have 3 data collectors that implement that interface:
terminate
one), we need to get events from the stopwatch as late as possible.terminate
one), we need to get the data as late as possible.I'm not very happy with the name and as always, better suggestions would be much appreciated.
This is an extract from #9168