## Description /actions endpoint has very high response latency, The leading factor for this latency is the DB calls to collections which have high volume of data. i.e `actions` and `applications`. This Pr tries to address this by optimising the flow to reduce db calls wherever possible. The following strategies have been used to reduce the latency as much as possible - Reduced DB calls for fetching application and related permission - Added Criteria for removing JS function from the repository call - Added a in memory cache to hold default plugins. (this would be used for filling missing details in action from plugin) resulted in 25-28% performance advantage. - **A good next step would have been adding index on all query parameters, however have held on to that for some data.** In the PR we have added Micrometer observability for /actions endpoint as for more data. > This PR addresses tries to improve the performance of the above endpoints by means of reducing redundant calls to DB, and caching wherever possible. Fixes #21850 ## Type of change - Chore (housekeeping or task changes that don't impact user perception) ## This has been tested: - Manual ## Progress: The DP created with this PR was tested, however the results were not consistent. waiting for testing dashboard to be ready to verify the median/p95 timings from the data ## Checklist: ### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [ ] New and existing unit tests pass locally with my changes - [ ] PR is being merged under a feature flag |
||
|---|---|---|
| .. | ||
| src | ||
| pom.xml | ||