[4.2][Debug] Add benchmarking for filters. #4897
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 adds timers for the
before
andafter
filters.During #4863, I found that significant gaps in the timeline can be produced by the
filters
.As far as I could find, these are the only parts missing in the benchmarking.
For now, I opted to
CodeIgniter4::handleRequest
,In the current state, the
Filters
timer is displayed even if no filters are defined for the$position
, this is not really the best solution in my opinion, however,$filters->run
is called each time anyway, so why not log those ms, too.The alternative would be to run
$filters->initialize($uri)
inhandelRequest
and then check the$filters->filtersClass
property for defined filters.On another note, I would like to explicitly time each running filter, too. However, the only way to achieve this currently would be to use the
timer()
helper inFilters::run()
or to injectServices::timer
into theFilters
. Not sure if any of these options is feasible right now.Checklist: