fix(timings): count time spent on custom on 'when' command failure #4121
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.
Description
Return a
Module
instance with timing information for custom modules even if thewhen
execution returnsfalse
.Motivation and Context
Closes #4093.
Previously the custom module evaluation function would return early if the
when
execution returnedfalse
, but the timing information was only added when returning a module instance at the end of the function. This meant that slowwhen
commands would invisibly slow down the prompt. This change causes the function to not return early in this case and instead return a proper module instance with timing information whether or not thewhen
command indicates that the module should be shown.How Has This Been Tested?
I tested this manually with the custom command I described in #4093. I wasn't sure whether I should add a test since it would probably need to have small sleep in it, which isn't ideal for unit tests. I did run the existing tests though.
Checklist: