Obtain JSR223 usage report after test execution #6510
+16
−9
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.
JSR223 compiled script can be cached; size of cache can be configured. What lacks now is the view of actual cache usage after test run.
Description
Allow configuration of the Caffeine cache API in detail, as per supported parameters of the API; one of the parameters allow you to specify a cache usage report should be generated. This will be done at the end of the test run.
Used cache size will always be printed.
Motivation and Context
One could configure the JSR223 cache usage but could not see how much of the cache is actually used, if sizing is appropriate as per JSR223 elements used in a JMX, if code can actually be cached, etc. This is especially useful in load and performance testing to reduce computing time on client side.
Sample output when report is disabled (only used cache size is printed):
2025-10-06 14:32:13,887 INFO o.a.j.u.JSR223TestElement: Compiled cache size: 3, stats: CacheStats{hitCount=0, missCount=0, loadSuccessCount=0, loadFailureCount=0, totalLoadTime=0, evictionCount=0, evictionWeight=0}
Sample output when report is enabled (used cache size and details are printed):
2025-10-06 14:45:52,434 INFO o.a.j.u.JSR223TestElement: Compiled cache size: 3, stats: CacheStats{hitCount=2, missCount=3, loadSuccessCount=3, loadFailureCount=0, totalLoadTime=200523600, evictionCount=0, evictionWeight=0}
How Has This Been Tested?
Simple runs of JSR223 script elements with checked or unchecked 'Cache compile script if available' and monitor the report; parameter left as the current pushed default in jmeter.properties or with recordStats property removed.
Screenshots (if appropriate):
Types of changes
Checklist: